Tomcat e Eclipse Zero Turnaround Deployment
Eu quero implantar alterações de código no Tomcat (quase instantaneamente) enquanto estou desenvolvendo no Eclips
té agora, eu tenho minha saída do Eclipse colocando as classes construídas noWEB-INF/classes
pasta do meu aplicativo Web.
Também tenho um contexto recarregável, com oweb.xml
como um recurso monitorado. Qualquer edição / salvamento neste arquivofa recarregue meu aplicativo da web, demorando um pouco mais de um segundo - muito mais rápido do que criar um novo arquivo de guerra e implantá-lo na íntegr
No entanto, o que eu gostaria de fazer é acionar a reimplementação quando editar qualquer arquivo de origem. Como os arquivos .class estão sendo modificados no Tomcat, parece que eu só preciso monitorar quaisquer alterações noWEB-INF/classes
pasta e são filhos.
Eu li que posso adicionar recursos adicionais assistidos no Tomcat'scontext.xml
mas isso não parece ser exatamente o que eu preciso - a menos que seja possível especificar um diretório que será monitorado (incluindo o monitoramento recursivo de subpastas e arquivos
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/someother.file</WatchedResource>
<Manager pathname=""/>
</Context>
Então, essencialmente, minha pergunta é: posso assistir a pasta de classes inteira (sem incluir cadaWatchedResource
explicitamente) para acionar uma reimplantação no Tomca
Se não, posso configurar o Eclipse paratouch
no arquivo web.xml, sempre que eu salvar um arquivo de origem nesse projeto? Estou desenvolvendo em um sistema Windows. :
PS Não estou interessado no produto JRebel. Qualquer resposta deve ser umlivr solução.
Atualiza
De acordo com o Tomcatdocumentaçã, a pasta classes deve ser monitorada definindo o contexto como recarregável:
Defina como true se desejar que o Catalina monitore as classes em / WEB-INF / classes / e / WEB-INF / lib quanto a alterações e recarregue automaticamente o aplicativo Web se uma alteração for detectad
Apenas alterações no web.xml parecem acionar uma recarga. Isso é um erro ou minha configuração está incorreta?
Além disso, eu li sobre como definir odocBase
atributo para um determinado contexto:
docBase="webapps/someExample"
Isto parece estar perto do que eu preciso, pois eu poderia republicar o Eclipse rapidamente. Meu único problema é que exijo que vários aplicativos / servlets da Web estejam em execução no Tomcat simultaneamente, na mesma porta etc.