Saltar al contenido

IntelliJ y Tomcat... Tomcat no reconoce automáticamente los archivos modificados

Ya no necesitas investigar más por todo internet porque llegaste al lugar correcto, poseemos la respuesta que necesitas pero sin problemas.

Solución:

Esto no se puede hacer si implementa una guerra con IntelliJ IDEA. De todos modos, eso pueden ser si despliegas un guerra estallada. En IDEA:

  1. abra su configuración de ejecución/depuración de Tomcat (Ejecutar > Editar configuraciones)
  2. Vaya a la pestaña "Implementación"
  3. En la sección "Implementar al iniciar el servidor", elimine (si está presente) el artefacto my-webapp-name:war
  4. Haga clic en el ícono Agregar, seleccione 'artefacto' y luego seleccione my-webapp-name:war exploded
  5. Haga clic en Aceptar (en el cuadro de diálogo "Seleccionar artefactos para implementar")
  6. Todavía en la ventana de configuración de ejecución/depuración, seleccione la pestaña "Servidor"
  7. En el medio de esa pestaña, cambie la configuración "Desactivación en marco" a "Actualizar recursos" o "Actualizar clases y recursos"
    • Actualizar recursos: Se actualizarán todos los recursos modificados (es decir, todos los componentes de la aplicación que no sean las clases).
    • Actualizar clases y recursos: Todos los recursos modificados se actualizarán; las clases cambiadas serán recompiladas. Tenga en cuenta que si las clases reales se actualizarán depende de las capacidades del servidor web. Si mal no recuerdo, Tomcat recargará archivos html/xhtml y jsp, pero no Servlets o clases que usan JSP o Servlets. Necesita modificar Tomcat para usar un cargador de clases dinámico para eso.
  8. También puede establecer el "En 'actualizar' " acción al seleccionado arriba también.
    • Esto determinó lo que sucede cuando presionas Actualizar Icono de actualización
      icono (o Control+F10) en la ventana Ejecutar.
    • el "Diálogo Mostrar" determina si IDEA le pregunta cada vez que presiona el icono de actualización
  9. Haga clic en Aceptar.

Ahora, cada vez que realice un cambio, IDEA volverá a implementar los archivos modificados cuando el marco de IDEA se desactive (es decir, pierda el foco). Tarda uno o dos segundos. Lo verá en la barra de estado inferior de IDEA. Obviamente. aún deberá actualizar su navegador web para que obtenga el nuevo archivo (a menos, por supuesto, si la página tiene una actualización automática de ajax como fetch).

Una buena combinación con Tomcat es configurar "Desactivación del marco" en "Actualizar recursos" y la acción "Actualizar" en "Reimplementar" o "Reiniciar servidor". Eso permite static las páginas se actualizarán rápidamente a través de la desactivación del marco y la clase se actualizará a través de la acción 'actualizar'.

Una empresa llamada ZeroTurnaround vende JRebel, que es una solución de cargador de clases dinámico. También tienen una serie de cinco partes sobre el tema que es muy buena.

Permítanme describir la secuencia de acciones usando capturas de pantalla:

  1. Abra su configuración de ejecución/depuración de Tomcat (Ejecutar > Editar configuraciones)

ingrese la descripción de la imagen aquí

  1. Haga clic en el ícono Agregar, seleccione 'artefacto' y luego seleccione pizza_mvc:war exploded:
    ingrese la descripción de la imagen aquí

  2. Modificar 'On update action' y 'On frame deactivation':
    ingrese la descripción de la imagen aquí

  3. Cada vez que desee actualizar sus recursos, presione + F10

Si desea actualizar clases y recursos, ejecute Gato en Modo de depuración. en este modo IntelliJ actualizar clases y recursos sin problema (intercambio en caliente).

Tengo el mismo problema. IntelliJ no actualicé mi proyecto, porque ejecuto como "modo Ejecutar". cuando corro modo de depuración y presiona Control+F10actualiza clases y recursos.

Comentarios y valoraciones de la guía

Si haces scroll puedes encontrar las interpretaciones de otros sys admins, tú todavía puedes dejar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.