wake-up-neo.net

IntelliJ IDEA 13.0.3 und Tomcat 8.0.9. Kann es nicht zur Arbeit bringen

Ich versuche, eine Java-Webanwendung bereitzustellen, die auf Tomcat ausgeführt wird. Ich habe das Buch bekommen 

Professionelles Java für Webanwendungen: Mit Websockets, Spring Framework, JPA Hibernate und Spring Security

und ich habe alles getan, damit IntelliJ IDEA 13 mit Tomcat 8.0.9 zusammenarbeiten kann. Ich habe den Servercontainer manuell getestet, und er funktioniert hervorragend. Selbst die Bereitstellung von WAR-Dateien funktioniert hervorragend. Wenn ich jedoch fortfahre, um eine Webanwendung zu starten/zu debuggen - in diesem Fall das erste Beispiel aus dem Buch -, wird die Anwendung von IntelliJ nicht gestartet. Die Ausgabe im Tomcat-Protokoll sagt nicht viel aus.

Die Serverausgabe sagt mir folgendes: 

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 gibt folgendes aus:

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

Ich habe sowohl Windows als auch OSX ausprobiert und es ist die gleiche Geschichte bei beiden mit dem gleichen Fehler.

Wenn ich auf http://localhost:8080/i zugreifen kann, kann der Server laufen. Die Anwendung wird jedoch nicht bereitgestellt.

Hat jemand den gleichen Fehler wie ich und/oder eine Lösung?

Ich verwende IntelliJ IDEA 13.0.3, Java 1.8.0_11 und Tomcat 8.0.9.

EDIT: Ich habe auch mit IntelliJ IDEA 13.1.4 versucht. Machte keinen Unterschied.


Schritte gemacht

  1. Java 1.8.0_11 wurde heruntergeladen, installiert und den Umgebungsvariablen hinzugefügt.
  2. Tomcat heruntergeladen, entpackt und folgende Änderungen vorgenommen (Schritt 2-4); In conf/Tomcat-users.xml habe ich diesen Benutzer hinzugefügt:

    <user username="admin" password="admin" roles="manager-gui,admin-gui" />
    
  3. In conf/web.xml habe ich den Code unterhalb des org.Apache.jasper.servlet.jspServlet-Elements hinzugefügt

    <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. Laden Sie Apache-ant herunter und fügen Sie mit dem folgenden Skript eine setenv.bat-Datei im Verzeichnis Apache-Tomcat/bin hinzu

    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. Startete IntelliJ und fügte den Tomcat-Anwendungsserver hinzu.

  6. Dann importierte ich das Projekt und stellte es so ein, dass es den gerade hinzugefügten Tomcat-Server verwendet.

UPDATE: 2014-08-09 16:22

Ich habe versucht, eine JavaEE-Webanwendung bereitzustellen, die von IntelliJ selbst erstellt wurde und die sofort funktioniert hat. Es scheint, als wäre etwas mit dem Quellcode falsch, auf den das Buch verweist.

16
Weson

Ich hatte ein ähnliches Problem. Das Problem bestand in der Artefaktkonfiguration in Run/Debug-Konfigurationen. Ich musste das Projektartefakt entfernen und es lesen. Wichtig ist die Auswahl der Webanwendung: Explodiert, Von Modulen ...

Sie können meinen blog post lesen, der Screenshots zu diesem Problem enthält.

9
Martin Mecera

Bei mir funktionierte es mit:

Datei> Projektstruktur> Artefakte In dem Ausgabe-Layout auf der rechten Seite> "Verfügbare Elemente?"

rechtsklick auf die verfügbaren Bibliotheken (für mich war "Spring MVC-4.2.4.RELEASE")

In Lib setzen (klicken Sie tatsächlich auf den Fix-Warntaster)

Und es hat funktioniert.

1
  1. Öffnet den Artefakt-Konfigurationsdialog (Artefakt> Bearbeiten ...)
  2. aktivieren Sie im unteren Bereich des Dialogfelds die Option "Inhalt der Elemente anzeigen"
  3. markieren Sie das Verzeichnis 'WEB-INF'
  4. rechtsklick auf den Bibliothekscontainer (im rechten Fensterbereich)
  5. wähle aus dem Kontextmenü 'put in/WEB-INF/lib' 
  6. der lib-Ordner wird im output-Layout hinzugefügt.

  7. artefakt neu aufbauen

  8. starten Sie den Webserver neu

Ich hoffe es hilft. 

 screenshot

 screenshot 2

 screenshot 4

 screenshot 3

0
Martin Pfeffer

Öffnen Sie "Debug Configuration" in IntelliJ IDEA und stellen Sie sicher, dass das Kontrollkästchen "In Tomcat konfigurierte Anwendungen bereitstellen" aktiviert ist, wie auf dem Bildschirm screenshot angezeigt

0
proactive-e