Tomcat en Idea. guerra explotada: el servidor no está conectado. Desplegar no está disponible

Estoy intentando este tutoial . Creé un nuevo proyecto y lo ejecuté. TomCat comenzó, pero luego no pasó nada. Puedo abrir manualmente en el navegador http://localhost:8080 y ver la página de inicio de TomCat. Significa que el servidor se puede iniciar. Sin embargo, no puedo abrir index.jsp. Aquí está mi pantalla después del inicio: captura de pantalla Como puede ver, el proyecto se está ejecutando, pero no hay información sobre las variables de entorno aprobadas. Sin registros.

Yo uso TomCat 7.0.27

Idea 12.1.6

en Opensuse 12.2

Mi carpeta de tomcat HOME es /usr/share/tomcat

Hubo un problema: Idea no pudo copiar los archivos conf desde / usr / share / tomcat / conf a /home/loco/.IntelliJIdea12/system/tomcat//conf. chmod 777 * en /usr/share/tomcat and the problem gone.

También cambié la forma en que se inicia TomCat. Fue un valor predeterminado

 /usr/share/tomcat/bin/catalina.sh run 

Cambié a

 /usr/share/tomcat/bin/catalina.sh start 

Todos los demás pasos se realizan de acuerdo con el tutorial.

El problema ocurre cuando una secuencia de comandos en el conjunto de scripts de inicio de tomcat (más comúnmente setenv.sh / setenv.bat ) anula la variable de entorno JAVA_OPTS sin incluir el valor original. IDEA establece JAVA_OPTS para decirle a tomcat que escuche en 1099 las solicitudes de JMX para cosas como el estado y las implementaciones.

Un ejemplo de una línea de un setenv.sh que se romperá:

 export JAVA_OPTS="-XX:MaxPermSize=512m -Xmx1024m" 

la versión corregida:

 export JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=512m -Xmx1024m" 

Las mismas líneas de ejemplo de un archivo setenv.bat Windows:

 set JAVA_OPTS=-XX:MaxPermSize=512m -Xmx1024m 

y corregido:

 set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=512m -Xmx1024m 

Si solo ejecuta tomcat desde IDEA, puede hacer lo que otros han sugerido y eliminar la línea de su secuencia de comandos setenv y colocar las opciones de jvm dentro de la configuración de ejecución de IDEA.

Lo arreglé quitando mi setenv.bat en $ CATALINA_HOME / bin. Aquí estaban las configuraciones dentro:

 set JAVA_OPTS=-server -Xmx768m -XX:MaxPermSize=256M 

Ya no necesitaba estas opciones, así que simplemente eliminé el archivo. Como dice la respuesta de prule, puedes mover estas opciones a la configuración de Intellij Run. Después de eliminar el archivo, la implementación funcionó bien dentro de IntelliJ.

editar: para obtener una mejor respuesta sobre por qué esto funciona, consulte la respuesta de codelark a continuación . Además, usando su método puede guardar sus archivos setenv.sh/setenv.bat que son útiles si no solo ejecuta su Tomcat desde dentro de IntelliJ IDEA.

Eliminar setenv.sh de $CATALINA_HOME/bin también me ha funcionado. Estoy ejecutando tomcat7 / Ubuntu / IntelliJ 12

Con setenv.sh en la carpeta bin, al inicio dentro de IJ veo en los registros:

 /usr/local/tomcat/apache-tomcat-7.0.52/bin/catalina.sh run [2014-07-28 02:41:39,274] Artifact TomcatDebug:war exploded: Server is not connected. Press 'Deploy' to start deployment. Jul 28, 2014 2:41:40 PM org.apache.catalina.core.AprLifecycleListener init odonovanj@ubuntuj:/usr/local/tomcat/apache-tomcat-7.0.52$ sudo netstat -tulpn|grep 2928 tcp6 0 0 :::8080 :::* LISTEN 2928/java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2928/java tcp6 0 0 :::8009 :::* LISTEN 2928/java 

Después de eliminar, en los registros veo: INFO: Inicio del servidor en 76 ms Conectado al servidor [2014-07-28 02: 44: 35,847] Artefacto TomcatDebug: guerra estallada: el artefacto se está desplegando, espere … [2014- 07-28 02: 44: 36,512] artefacto TomcatDebug: guerra explotada: el artefacto se despliega con éxito

 odonovanj@ubuntuj:/usr/local/tomcat/apache-tomcat-7.0.52$ sudo netstat -tulpn|grep 2346 tcp6 0 0 :::8080 :::* LISTEN 2346/java tcp6 0 0 :::50044 :::* LISTEN 2346/java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2346/java tcp6 0 0 :::8009 :::* LISTEN 2346/java tcp6 0 0 :::1099 :::* LISTEN 2346/java tcp6 0 0 :::52268 :::* LISTEN 2346/java 

Parece que setenv.sh $JAVA_OPTS , interfiriendo con JNDI ejecutándose en el puerto 1099.

 file->project structure->Project SDK 

luego reconfigure el SDK.

Esto realmente resolvió mi problema.

No entiendo mucho sobre la teoría de esto, pero tengo el mismo error. Después de esperar un poco, recibí un mensaje que decía:

Error durante la implementación del artefacto Vea el registro del servidor para más detalles.

Encontré el archivo de registro que supuestamente significaba: “Tomcat localhost.log” y había un seguimiento de la stack allí para un “NoClassDefFoundError” y “ClassNotFoundException”. Hice una actualización de Maven y un “proyecto de reconstrucción” y eso fue todo.

(3.2) Establecer JRE_HOME o JAVA_HOME (obligatorio)

Estas variables se utilizan para especificar la ubicación de un Java Runtime Environment o de un Java Development Kit que se utiliza para iniciar Tomcat.

La variable JRE_HOME se usa para especificar la ubicación de un JRE. La variable JAVA_HOME se usa para especificar la ubicación de un JDK.

El uso de JAVA_HOME proporciona acceso a ciertas opciones de inicio adicionales que no están permitidas cuando se utiliza JRE_HOME.

Si se especifican JRE_HOME y JAVA_HOME, se utiliza JRE_HOME.

Tuve este problema cuando configuré JAVA_OPTS en catalina.bat. Eliminar esto significaba que tomcat comenzó y se implementó como se esperaba. Los valores JAVA_OPTS se pueden establecer en la configuración de Intellij Run.

Tuve este problema con Tomcat 7.0.27. Actualicé a Tomcat 8.0.21 y solucionó mi problema 🙂

Me encuentro con este problema cuando bash importar un proyecto de eclipse a IDEA.

No hay setter.sh en $CATALINA_HOME/bin . La Run Configuration Project Structure y la Run Configuration en IDEA se ve bien, todo el proyecto funciona normalmente en eclipse, pero muestra este error en IDEA.

Mi solución es eliminar la carpeta .idea , volver a importar todo el proyecto. No sé cuál es la causa exacta de este problema, pero me sirve.

Ahora el registro se ve así:

 /Library/Tomcat/bin/catalina.sh run [2015-09-22 12:40:57,906] Artifact bookstore:war exploded: Server is not connected. Deploy is not available. XXXXXX Connected to server [2015-09-22 12:40:58,848] Artifact bookstore:war exploded: Artifact is being deployed, please wait... XXXXXX [2015-09-22 12:41:07,862] Artifact bookstore:war exploded: Artifact is deployed successfully [2015-09-22 12:41:07,863] Artifact bookstore:war exploded: Deploy took 9,015 milliseconds 

Una forma simple es cambiar el número de puerto en ese archivo:

 -Dcom.sun.management.jmxremote.port=1099 

fíjate en el puerto, el valor predeterminado es 1099, pero cuando usas JMX, tú o alguien puede cambiarlo, por lo tanto, simplemente cambia el puerto, que estará bien, sin necesidad de eliminarlo de la carpeta bin de tomcat.

Una razón más, si su ruta de Tomcat contiene un espacio en blanco o ‘(‘, este error también ocurrirá. Cambie el nombre de su ruta de acceso de tomcat.

Si ha cambiado el /etc/hosts , debe agregarle una línea localhost YOU_USER_NAME .