Netbeans e problema com WAR (docBase do context.xml)

3 respostas
R

Agradeço antes de mais nada ao javeaux pela resposta da minha última questão.

Fiz como ele disse e joguei o arquivo .war (que é criado no diretório dist da minha aplicação) no diretório webapp do Tomcat instalado no meu cliente. Só que percebi que o arquivo context.xml (diretório META-INF), que faz parte do .war, tem o atributo docBase, que faz referência ao diretório da aplicação na minha máquina de desenvolvimento. Mudei no braço essa propriedade (de ‘C:\apps\cic’ para apenas ‘cic’), criei o .war (cic.war) de novo e funcionou beleza. Gostaria de saber se, em vez de eu precisar descompactar o .war gerado toda a vez e mudar a propriedade docBase do context.xml no braço, tem como eu setar alguma coisa no Netbeans ou nos arquivos xml para que o arquivo .war gerado no diretório dist já venha com o docBase correto da máquina do meu cliente e não com o diretório em que a aplicação está na minha máquina. Tem como fazer isso?

Abraços a todos,

Reinaldo.

3 Respostas

R

Eu não faço nada disso.

Simplesmente jogo um arquivo .xml dentro da pasta do tomcat e pronto depois faço deploy no diretório especificado.

Tens como mandar o NetBeans parar de gerar esse context.xml ?
Tu usas ele pra algo além do logging e do docBase ?

Experimenta isso aqui:

<Context path="/downloads" 
   reloadable="true" 
      docBase="D:\Downloads" >
	<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
</Context>

Legenda

  • em /downloads tu colocas o path da aplicação
  • em D:\Downloads tu colocas o diretório onde estará o .war ou os arquivos da aplicação

[]s

R

Obrigado pela ajuda, Renato.

Percebi no Netbeans 4.0 que toda a vez que eu dou um Build -> Build Main Project, ele coloca o docBase no arquivo context.xml com o diretório de desenvolvimento da minha aplicação. Quando executo um Build -> Clean and Build Main Project, o Netbeans retira o parâmetro docBase do context.xml, deixando apenas o parâmetro path (pois como o meu .war vai estar dentro do diretório webapp do Tomcat, não é necessário indicar o docBase, somente é necessário o path, que indica o contexto da aplicação).

Assim, cheguei a seguinte conclusão:

  • Caso o desenvolvedor utilize no servidor do cliente o mesmo diretório que em sua máquina de desenvolvimento, ele deve usar o menu Build -> Build Main Project para gerar o .war;

  • Caso o desenvolvedor coloque o .war dentro do webapp do Tomcat direto, utilize o menu Buid -> Clean and Build Main Project (que retira o docBase do context.xml).

Agora, uma solução intermediária, onde o desenvolvedor especifique no Netbeans um diretório para deploy no servidor que não seja o mesmo do diretório de desenvolvimento em sua máquina, isso eu não achei como fazer (nem sei se há como).

Quem souber, ajude aí!

Abraços a todos,

Reinaldo.

R

Chegasse a dar uma olhada nas propriedades do projeto ?

No eclipse é assim, pelo menos :???:

[]s

Criado 14 de abril de 2005
Ultima resposta 16 de abr. de 2005
Respostas 3
Participantes 2