puertos - Cómo habilitar la implementación en caliente en Tomcat
configurara tomcat (4)
Puedo escribir un script de hormiga que copie archivos de clase actualizados en
web-inf/classes
en tomcat.
Pero, ¿cómo puedo decirle a Tomcat 7.0 que recoja automáticamente los archivos de clase modificados del directorio
web-inf/classes
?
Intenté configurar
autoDeploy="true"
en la configuración de host de tomcat
server.xml
pero cuando se detecta un cambio, la sesión de Tomcat se destruye.
¿Puedo sustituir fácilmente el
complemento eclipse tomcat
en Intellij
Aparentemente, otra opción es usar el jetty (por ejemplo, durante el desarrollo), tiene la capacidad de hacer intercambios en caliente sobre la marcha más fácilmente.
Hay un nuevo complemento para intellij que lo admite: https://plugins.jetbrains.com/plugin/9492-smart-tomcat
Terminé usando la herramienta HotSwapAgent . Esa es una alternativa gratuita a JRebel
Tomcat solo puede intercambiar en caliente cierto tipo de archivos como JSP y archivos estáticos como JavaScript, CSS, etc., si desactiva el almacenamiento en caché pero no puede intercambiar en caliente las clases de Java, solo reinicie la aplicación web. Para lograr clases de Java de intercambio en caliente, he visto publicidad de JRebel en todas partes, pero no he probado su producto.
Sin embargo, puede preservar la sesión de Tomcat al comentar una directiva como se explica en el sitio de documentación de Tomcat: http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html#Disable_Session_Persistence .
Por último, puede escribir un script ANT para ensamblar WAR y volver a implementar cada vez que se ejecuta el script.
Ejemplo build.xml:
...
<target name="tomcat-stop">
<exec executable="${server.home}/bin/catalina.bat">
<arg value="stop"/>
</exec>
</target>
<target name="tomcat-start">
<exec executable="${server.home}/bin/startup.bat">
<arg value="start"/>
</exec>
</target>
...
<target name="all" depends="tomcat-stop,clean,init,compile,junit-slow,make_war,deploy,tomcat-start"></target>
En cualquier consolidación, evitaría usar Eclipse Tomcat Plugin por dos razones.
- En la mayoría de las versiones de Eclipse ya incluye Tomcat como adaptador de servidor y viene con algunas opciones.
- Evite que IDE se hinche con complementos.