Tomcat dans Idea. guerre a explosé: le serveur n’est pas connecté. Le déploiement n’est pas disponible

J’essaie ce tutoial . J’ai créé un nouveau projet et l’ai lancé. TomCat a commencé, mais alors rien ne s’est passé. Je peux ouvrir manuellement dans le navigateur http://localhost:8080 et voir la page d’accueil de TomCat. Cela signifie que le serveur peut être démarré. Cependant, je ne peux pas ouvrir index.jsp. Voici mon écran après le démarrage: capture d’écran Comme vous pouvez le voir, le projet est en cours d’exécution, mais aucune information sur les variables d’environnement passées. Pas de journaux.

J’utilise TomCat 7.0.27

Idée 12.1.6

sur Opensuse 12.2

Mon dossier HOME Tomcat est /usr/share/tomcat

Il y avait un problème: l’idée ne pouvait pas copier les fichiers conf de / usr / share / tomcat / conf vers /home/loco/.IntelliJIdea12/system/tomcat//conf. J’ai exécuté chmod 777 * dans /usr/share/tomcat and the problem gone.

J’ai également changé la façon dont TomCat est démarré. C’était la valeur par défaut

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

J’ai changé pour

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

Toutes les autres étapes sont effectuées conformément au tutoriel.

Le problème se produit lorsqu’un script de l’ensemble de scripts de démarrage tomcat (généralement setenv.sh / setenv.bat ) remplace la variable d’environnement JAVA_OPTS sans inclure la valeur d’origine. IDEA définit JAVA_OPTS pour indiquer à tomcat d’écouter sur 1099 les requêtes JMX pour des éléments tels que le statut et les déploiements.

Un exemple de ligne d’un setenv.sh qui se casse:

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

la version corrigée:

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

Les mêmes lignes d’exemple d’un fichier Windows setenv.bat :

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

et corrigé:

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

Si vous ne lancez que tomcat depuis IDEA, vous pouvez faire comme les autres l’ont suggéré et supprimer la ligne de votre script setenv et placer les options jvm dans la configuration d’exécution d’IDEA.

J’ai résolu ce problème en supprimant mon setenv.bat dans $ CATALINA_HOME / bin. Voici les parameters à l’intérieur:

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

Je n’avais plus besoin de ces options, alors j’ai simplement supprimé le fichier. Comme le dit la réponse de prule, vous pouvez déplacer ces options vers la configuration Intellij Run. Après avoir supprimé le fichier, le déploiement a bien fonctionné dans IntelliJ.

edit: Pour une meilleure réponse sur pourquoi cela fonctionne, consultez la réponse de codelark ci-dessous . De plus, en utilisant sa méthode, vous pouvez conserver vos fichiers setenv.sh/setenv.bat, ce qui est utile si vous n’exécutez pas seulement votre Tomcat depuis IntelliJ IDEA.

Supprimer setenv.sh de $CATALINA_HOME/bin également fonctionné pour moi. J’utilise tomcat7 / Ubuntu / IntelliJ 12

Avec setenv.sh dans le dossier bin, au démarrage dans IJ, je vois dans les journaux:

 /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 

Après avoir supprimé, dans les journaux, je vois: INFO: Démarrage du serveur en 76 ms Connecté au serveur [2014-07-28 02: 44: 35,847] Artéfact TomcatDebug: la guerre a explosé: un artefact est en cours de déploiement, veuillez patienter … [2014- 07-28 02: 44: 36,512] Artéfact TomcatDebug: la guerre a explosé: l’artefact est déployé avec succès

 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 

Il setenv.sh ait setenv.sh $JAVA_OPTS , interférant avec JNDI fonctionnant sur le port 1099.

 file->project structure->Project SDK 

puis reconfigurez le SDK.

Cela a vraiment résolu mon problème.

Je ne comprends pas grand chose à la théorie, mais j’ai eu la même erreur. Après avoir attendu un peu, j’ai reçu un message disant:

Erreur lors du déploiement de l’artefact. Voir le journal du serveur pour plus de détails.

J’ai trouvé le fichier journal qu’il signifiait probablement: “Tomcat localhost.log” et il y avait une trace de stack là pour “NoClassDefFoundError” et “ClassNotFoundException”. J’ai fait un rafraîchissement de Maven et un “projet de reconstruction” et cela a fait l’affaire.

(3.2) Définir JRE_HOME ou JAVA_HOME (requirejs)

Ces variables sont utilisées pour spécifier l’emplacement d’un environnement d’exécution Java ou d’un kit de développement Java utilisé pour démarrer Tomcat.

La variable JRE_HOME est utilisée pour spécifier l’emplacement d’un JRE. La variable JAVA_HOME est utilisée pour spécifier l’emplacement d’un JDK.

L’utilisation de JAVA_HOME permet d’accéder à certaines options de démarrage supplémentaires non autorisées lorsque JRE_HOME est utilisé.

Si JRE_HOME et JAVA_HOME sont spécifiés, JRE_HOME est utilisé.

J’ai eu ce problème lorsque j’ai défini JAVA_OPTS dans catalina.bat. En supprimant cela, Tomcat a démarré et déployé comme prévu. Les valeurs JAVA_OPTS peuvent être définies dans la configuration Intellij Run.

J’ai eu ce problème avec Tomcat 7.0.27. J’ai mis à niveau vers Tomcat 8.0.21 et j’ai résolu mon problème 🙂

Je rencontre ce problème lorsque j’essaie d’importer un projet d’eclipse à IDEA.

Il n’y a pas de setter.sh dans $CATALINA_HOME/bin . Le paramètre Project Structure et Run Configuration dans IDEA semble correct, tout le projet fonctionne normalement en éclipse, mais affiche cette erreur dans IDEA.

Ma solution est de supprimer le dossier .idea , de réimporter tout le projet. Je ne sais pas quelle est la cause exacte de ce problème, mais ça marche pour moi.

Maintenant, le journal ressemble à ça:

 /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 

Un moyen simple consiste à modifier le numéro de port dans ce fichier:

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

remarquez le port, la valeur par défaut est 1099, mais lorsque vous utilisez JMX, vous ou quelqu’un peut le modifier, changez simplement le port, ce sera correct, pas besoin de le supprimer du dossier bin de tomcat.

Une raison de plus, si votre chemin de tomcat contient vide ou ‘(‘, cette erreur se produira également. Veuillez renommer votre chemin de tomcat.

Si vous avez changé le fichier /etc/hosts , vous devez lui append une ligne localhost YOU_USER_NAME .