Soy nuevo en Tomcat
. Tenemos una máquina de desarrollo con aproximadamente 5 aplicaciones en ejecución. Aunque es un desarrollador, nuestros clientes lo utilizan bastante durante las pruebas.
Entonces, digamos que necesitamos hacer un pequeño cambio en un archivo de clase. En este momento, tenemos que cerrar Tomcat (que afecta a las otras cuatro aplicaciones), eliminar el WAR
archivo (y el directorio de la aplicación web), WAR
volver a implementar el nuevo archivo y reiniciar Tomcat
.
Por supuesto, esto molesta a algunas personas porque destruye todas las sesiones registradas para todas las aplicaciones.
¿Hay una mejor manera de hacer esto? Quiero decir, ¿hay alguna manera de recargar solo la CLASE que cambió en lugar de todo en la máquina de desarrollo?
Gracias.
fuente
Respuestas:
¿Ha intentado utilizar la aplicación Tomcat's Manager ? Le permite anular la implementación / implementación de archivos de guerra sin apagar Tomcat.
Si no desea utilizar la aplicación Manager, también puede eliminar el archivo war del directorio webapps, Tomcat anulará la implementación de la aplicación después de un corto período de tiempo. A continuación, puede volver a copiar un archivo war en el directorio y Tomcat lo implementará.
Si está ejecutando Tomcat en Windows, es posible que deba configurar su contexto para no bloquear varios archivos.
Si no puede tener ningún tiempo de inactividad, es posible que desee ver las implementaciones paralelas de Tomcat 7. Puede implementar varias versiones de una aplicación web con la misma ruta de contexto al mismo tiempo. Las reglas que se utilizan para hacer coincidir las solicitudes con una versión de contexto son las siguientes:
fuente
Hay varias formas sencillas.
Simplemente toque web.xml de cualquier aplicación web.
También puede actualizar un archivo jar en particular en WEB-INF / lib y luego tocar web.xml, en lugar de crear el archivo war completo y volver a implementarlo.
Elimine el directorio webapps / YOUR_WEB_APP, Tomcat comenzará a implementar war en 5 segundos (asumiendo que su archivo war todavía existe en la carpeta webapps).
Generalmente, la sobrescritura del archivo war con la nueva versión se vuelve a implementar automáticamente por Tomcat. De lo contrario, puede tocar web.xml como se explicó anteriormente.
Copie un "directorio" ya explotado a su carpeta de aplicaciones web
fuente
$CATALINA_BASE/conf/context.xml
. WEB-INF / web.xml se vigila para detectar cambios. Otros recursos se pueden enumerar fácilmente allí según sea necesario.En el directorio conf de apache tomcat puede encontrar el archivo context.xml. En esa etiqueta de edición como < Context reloadable = "true" >. esto debería resolver el problema y no es necesario reiniciar el servidor
fuente