web-dev-qa-db-fra.com

IntelliJ IDEA 13.0.3 et Tomcat 8.0.9. Je n'arrive pas à le faire fonctionner

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.


Mesures prises

  1. Téléchargé Java 1.8.0_11, l’a installé et l’a ajouté aux variables d’environnement.
  2. 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" />
    
  3. 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>
    
  4. 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 
    
  5. Démarrage d'IntelliJ et ajout du serveur d'applications Tomcat.

  6. Ensuite, j'ai importé le projet et l'ai configuré pour utiliser le serveur Tomcat que je viens d'ajouter.

MISE À JOUR: 2014-08-09 16:22

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.

16
Weson

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.

9
Martin Mecera

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é.

1
Hoque MD Zahidul
  1. ouvrir la boîte de dialogue de configuration des artefacts (artefact> modifier ...)
  2. cochez la case "Afficher le contenu des éléments" dans la partie inférieure de la boîte de dialogue
  3. mettez en surbrillance le répertoire 'WEB-INF'
  4. clic droit sur le conteneur de la bibliothèque (dans le volet de droite)
  5. sélectionnez dans le menu contextuel 'mettre dans/WEB-INF/lib' 
  6. le dossier lib est ajouté dans la disposition output

  7. reconstruire un artefact

  8. redémarrer le serveur web

J'espère que ça aide. 

 screenshot

 screenshot 2

 screenshot 4

 screenshot 3

0
Martin Pfeffer

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

0
proactive-e