Netbeans e problema com WAR (docBase do context.xml)
3 respostas
R
reolcaPJ
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?
em D:\Downloads tu colocas o diretório onde estará o .war ou os arquivos da aplicação
[]s
R
reolcaPJ
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
renatopbPJ
Chegasse a dar uma olhada nas propriedades do projeto ?