Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IntelliJ IDEA 13.0.3 and Tomcat 8.0.9. Cant get it to work

I'm trying to deploy a Java web application running on Tomcat. I got the book

Professional Java for Web Applications: Featuring Websockets, Spring Framework, JPA Hibernate, and Spring Security

and I've done everything said to get IntelliJ IDEA 13 work together with Tomcat 8.0.9. I've tested the server container manually and it works great, even deploying .war files works great. However when i move on to start/debug a web application - in this case the first example form the book - from IntelliJ the application wont start. The output in the Tomcat Log doesn't say much.

Server output tells me this:

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 output this:

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

I've tried on both Windows and OSX and it's the same story on both with the exact same error.

When i access http://localhost:8080/i can see that the server is up and running. However, the application isn't deployed.

Anyone experiencing the same error as me and/or know a solution?

I'm running IntelliJ IDEA 13.0.3, Java 1.8.0_11 and Tomcat 8.0.9.

EDIT: I've also tried with IntelliJ IDEA 13.1.4. Didn't make any difference.


Steps taken

  1. Downloaded Java 1.8.0_11, installed it and added it to environment variables.
  2. Downloaded Tomcat, unpacked it and made the following changes to it (step 2-4); In conf/tomcat-users.xml i added this user:

    <user username="admin" password="admin" roles="manager-gui,admin-gui" />
    
  3. In conf/web.xml i added the code below beneath the org.apache.jasper.servlet.jspServlet element

    <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. Downloaded apache-ant and added a setenv.bat file in the apache-tomcat/bin directory with the following script

    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. Started IntelliJ and added the Tomcat application server.

  6. Then i imported the project and set it to use the Tomcat server that I just added.

UPDATE: 2014-08-09 16:22

I tried to deploy a JavaEE web application that IntelliJ created itself, and that worked right away. Seems like it's something wrong with the source code that the book references.

like image 291
Weson Avatar asked Aug 08 '14 19:08

Weson


2 Answers

I had similar problem. The problem was in artifact configuration in Run/Debug Configurations. I had to remove the project artifact and readd it. The important thing is to choose Web Application: Exploded, From Modules...

You can read my blog post that contains screenshots about this issue.

like image 103
Martin Mecera Avatar answered Oct 13 '22 23:10

Martin Mecera


For me it worked with:

File >Project Structure >Artifacts In the Output Layout on the right side >"Available Elements?"

right click on the available libraries ( for me it was "Spring MVC-4.2.4.RELEASE")

Put into Lib ( actually click on the fix warning button )

And it worked.

like image 30
Hoque MD Zahidul Avatar answered Oct 14 '22 00:10

Hoque MD Zahidul