Tomcat y Eclipse Zero Turnaround Deployment
Quiero poder implementar cambios de código en Tomcat (casi al instante), mientras estoy desarrollando en Eclipse.
Hasta ahora, tengo mi salida de Eclipse colocando las clases compiladas en elWEB-INF/classes
carpeta de mi aplicación web.
También tengo un contexto recargable, con laweb.xml
como un recurso visto. Cualquier edición / guardar en este archivohac volver a cargar mi aplicación web, tomar más de un segundo, mucho más rápido que crear un nuevo archivo de guerra y desplegarlo por completo.
Sin embargo, lo que me gustaría hacer es desencadenar la nueva implementación cuando edite cualquier archivo fuente. Como los archivos .class se están modificando en Tomcat, parece que solo necesito monitorear cualquier cambio enWEB-INF/classes
carpeta y es niños.
He leído que puedo agregar recursos vistos adicionales en Tomcat'scontext.xml
pero esto no parece ser lo que necesito, a menos que sea posible especificar un directorio que se verá (incluido el monitoreo recursivo de subcarpetas y archivos)?
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/someother.file</WatchedResource>
<Manager pathname=""/>
</Context>
ásicamente, mi pregunta es si puedo ver toda la carpeta de clases (sin incluir cadaWatchedResource
explícitamente) para activar una nueva implementación en Tomcat?
Si no, ¿puedo configurar Eclipse entouch
el archivo web.xml, ¿cada vez que guardo un archivo fuente en ese proyecto? Estoy desarrollando en un sistema Windows. :
PS No estoy interesado en el producto JRebel. Cualquier respuesta debe ser unagrati solución.
Actualiza
Según el Tomcatdocumentació, la carpeta de clases debe monitorearse configurando el contexto como recargable:
Establezca el valor verdadero si desea que Catalina supervise las clases en / WEB-INF / classes / y / WEB-INF / lib en busca de cambios, y vuelva a cargar automáticamente la aplicación web si se detecta un cambio.
Solo los cambios en web.xml parecen desencadenar una recarga. ¿Es esto un error o mi configuración es incorrecta?
También, he leído sobre cómo configurar eldocBase
atributo para un contexto dado:
docBase="webapps/someExample"
Esto parece estar cerca de lo que necesito, ya que podría volver a publicar en Eclipse rápidamente. Mi único problema es que requiero que varias aplicaciones web / servlets se ejecuten en Tomcat simultáneamente, en el mismo puerto, etc.