J'essaie de déployer une application Web Java s'exécutant sur Tomcat. J'ai le livre
Professional Java pour applications Web: avec Websockets, Spring Framework, JPA Hibernate et Spring Security
et j'ai tout fait pour que IntelliJ IDEA 13 fonctionne avec Tomcat 8.0.9. J'ai testé le conteneur de serveurs manuellement et cela fonctionne très bien, même le déploiement de fichiers .war fonctionne très bien. Cependant, lorsque je passe au démarrage/au débogage d'une application Web - dans ce cas, le premier exemple du livre - de l'application IntelliJ, l'application ne démarre pas. La sortie dans le journal Tomcat ne dit pas grand chose.
La sortie du serveur me dit ceci:
Connected to server
[2014-08-08 09:17:35,075] Artifact Sample-Debug-IntelliJ:war exploded: Artifact is being deployed, please wait...
[2014-08-08 09:17:35,097] Artifact Sample-Debug-IntelliJ:war exploded: Error during artifact deployment. See server log for details.
[2014-08-08 09:17:35,098] Artifact Sample-Debug-IntelliJ:war exploded: com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: L:\Java-dev\Java_web_apps_chapter_code\9781118656464 Full Code\Chapter 02\Sample-Debug- IntelliJ\target\sample-debug-intellij-1.0.0.SNAPSHOT not found for the web module.
08-Aug-2014 21:17:44.671 INFO [localhost-startStop-1] org.Apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory L:\Java-dev\Apache-Tomcat-8.0.9\webapps\manager
08-Aug-2014 21:17:44.939 INFO [localhost-startStop-1] org.Apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory L:\Java-dev\Apache-Tomcat-8.0.9\webapps\manager has finished in 268 ms
Tomcat Catalina Log a écrit ceci:
08-Aug-2014 22:56:35.843 INFO [main] org.Apache.catalina.core.AprLifecycleListener.init Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8.
08-Aug-2014 22:56:35.846 INFO [main] org.Apache.catalina.core.AprLifecycleListener.init APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
08-Aug-2014 22:56:36.652 INFO [main] org.Apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1g 7 Apr 2014)
08-Aug-2014 22:56:36.738 INFO [main] org.Apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
08-Aug-2014 22:56:36.746 INFO [main] org.Apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
08-Aug-2014 22:56:36.747 INFO [main] org.Apache.catalina.startup.Catalina.load Initialization processed in 1060 ms
08-Aug-2014 22:56:36.771 INFO [main] org.Apache.catalina.core.StandardService.startInternal Starting service Catalina
08-Aug-2014 22:56:36.771 INFO [main] org.Apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.9
08-Aug-2014 22:56:36.778 INFO [main] org.Apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
08-Aug-2014 22:56:36.784 INFO [main] org.Apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
08-Aug-2014 22:56:36.785 INFO [main] org.Apache.catalina.startup.Catalina.start Server startup in 38 ms
08-Aug-2014 22:56:46.785 INFO [localhost-startStop-1] org.Apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory L:\Java-dev\Apache-Tomcat-8.0.9\webapps\manager
08-Aug-2014 22:56:47.035 INFO [localhost-startStop-1] org.Apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory L:\Java-dev\Apache-Tomcat-8.0.9\webapps\manager has finished in 251 ms
J'ai essayé sur Windows et OSX et c'est la même histoire sur les deux avec exactement la même erreur.
Lorsque j’accède à http://localhost:8080/
i, je peux voir que le serveur est opérationnel. Cependant, l'application n'est pas déployée.
Toute personne rencontrant la même erreur que moi et/ou connaissant une solution?
J'utilise IntelliJ IDEA 13.0.3, Java 1.8.0_11 et Tomcat 8.0.9.
EDIT: J'ai également essayé avec IntelliJ IDEA 13.1.4. N'a fait aucune différence.
Téléchargez Tomcat, décompressez-le et apportez les modifications suivantes (étapes 2 à 4); Dans conf/Tomcat-users.xml
, j'ai ajouté cet utilisateur:
<user username="admin" password="admin" roles="manager-gui,admin-gui" />
Dans conf/web.xml
j'ai ajouté le code ci-dessous sous l'élément org.Apache.jasper.servlet.jspServlet
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compiler</param-name>
<param-value>modern</param-value>
</init-param>
Téléchargé Apache-ant et ajouté un fichier setenv.bat
dans le répertoire Apache-Tomcat/bin
avec le script suivant
export CLASSPATH=L:/Java-dev/jdk8/lib/tools.jar:L:/Java-dev/Apache-ant/lib/ant.jar:L:/Java-dev/Apache-ant/lib/ant-launcher.jar
Démarrage d'IntelliJ et ajout du serveur d'applications Tomcat.
Ensuite, j'ai importé le projet et l'ai configuré pour utiliser le serveur Tomcat que je viens d'ajouter.
J'ai essayé de déployer une application Web JavaEE créée par IntelliJ et qui fonctionnait immédiatement. On dirait que quelque chose ne va pas avec le code source auquel le livre fait référence.
J'ai eu le même problème. Le problème provenait de la configuration des artefacts dans les configurations Run/Debug. Je devais enlever l'artefact du projet et le relire. L'important est de choisir une application Web: éclatée, à partir de modules ...
Vous pouvez lire mon blog post qui contient des captures d'écran de ce problème.
Pour moi cela a fonctionné avec:
Fichier> Structure du projet> Artefacts Dans le Format de sortie sur le côté droit> "Eléments disponibles?"
clic droit sur les bibliothèques disponibles (pour moi c'était "Spring MVC-4.2.4.RELEASE")
Mettez dans Lib (cliquez en fait sur le bouton d'avertissement de réparation)
Et ça a fonctionné.
le dossier lib est ajouté dans la disposition output
reconstruire un artefact
J'espère que ça aide.
Ouvrez "Configuration de débogage" dans IntelliJ IDEA et assurez-vous que la case "Déployer les applications configurées dans Tomcat" est cochée comme indiqué sur la capture d'écran