Eu sou novo em Tomcat
. Temos uma máquina de desenvolvimento com cerca de 5 aplicativos em execução. Mesmo sendo dev, é usado por nossos clientes bastante durante os testes.
Então, digamos que precisamos fazer uma pequena mudança em um arquivo de classe. Agora, temos que desligar o Tomcat (afetando os outros quatro aplicativos), excluir o WAR
arquivo (e o diretório do aplicativo da web), reimplantar o novo WAR
arquivo e reiniciar Tomcat
.
Claro, isso perturba algumas pessoas porque destrói todas as sessões conectadas para todos os aplicativos.
Existe uma maneira melhor de fazer isso? Quer dizer, há uma maneira de recarregar apenas a CLASSE que mudou em vez de tudo na máquina de desenvolvimento?
Obrigado.
tomcat
deployment
war
cbmeeks
fonte
fonte
Respostas:
Você já tentou usar o aplicativo Gerenciador do Tomcat ? Ele permite que você desimplante / implante arquivos war sem desligar o Tomcat.
Se você não quiser usar o aplicativo Manager, também pode excluir o arquivo war do diretório webapps, o Tomcat irá remover a implantação do aplicativo após um curto período de tempo. Você pode então copiar um arquivo war de volta para o diretório, e o Tomcat implantará o arquivo war.
Se você estiver executando o Tomcat no Windows, pode ser necessário configurar seu Contexto para não bloquear vários arquivos.
Se você absolutamente não pode ter nenhum tempo de inatividade, você pode querer olhar as implantações paralelas do Tomcat 7. Você pode implantar várias versões de um aplicativo da web com o mesmo caminho de contexto ao mesmo tempo. As regras usadas para corresponder solicitações a uma versão de contexto são as seguintes:
fonte
Existem várias maneiras fáceis.
Basta tocar em web.xml de qualquer aplicativo da web.
Você também pode atualizar um arquivo jar específico em WEB-INF / lib e, em seguida, tocar em web.xml, em vez de construir o arquivo war inteiro e implantá-lo novamente.
Exclua o diretório webapps / YOUR_WEB_APP, o Tomcat começará a implantar o war em 5 segundos (assumindo que seu arquivo war ainda exista na pasta webapps).
Geralmente, a substituição do arquivo war com a nova versão é reimplantada pelo tomcat automaticamente. Caso contrário, você pode tocar em web.xml conforme explicado acima.
Copie sobre um "diretório" já explodido para sua pasta de webapps
fonte
$CATALINA_BASE/conf/context.xml
. O WEB-INF / web.xml é monitorado para alterações. Outros recursos podem ser facilmente listados lá, conforme necessário.No diretório conf do apache tomcat você pode encontrar o arquivo context.xml. Nessa tag de edição como < Context reloadable = "true" >. isso deve resolver o problema e você não precisa reiniciar o servidor
fonte