IntelliJ IDEA 13.0.3 和 Tomcat 8.0.9。无法让它工作

2022-09-03 07:40:08

我正在尝试部署一个在Tomcat上运行的Java Web应用程序。我拿到了这本书

适用于 Web 应用程序的专业 Java:具有 Websockets、Spring Framework、JPA Hibernate 和 Spring Security 功能

我已经做了所有说过的事情,让IntelliJ IDEA 13与Tomcat 8.0.9一起工作。我已经手动测试了服务器容器,它工作得很好,即使部署.war文件也很棒。但是,当我继续启动/调试Web应用程序时 - 在这种情况下,本书中的第一个示例 - 从IntelliJ开始,应用程序不会启动。Tomcat Log 中的输出并没有说太多。

服务器输出告诉我:

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 输出 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

我已经在Windows和OSX上尝试过,并且在两者上都是相同的故事,但错误完全相同。

当我访问时,我可以看到服务器已启动并运行。但是,不会部署应用程序。http://localhost:8080/

有人遇到与我相同的错误和/或知道解决方案吗?

我正在运行IntelliJ IDEA 13.0.3,Java 1.8.0_11和Tomcat 8.0.9。

编辑:我也尝试过使用IntelliJ IDEA 13.1.4。没有任何区别。


采取的步骤

  1. 下载 Java 1.8.0_11,安装并将其添加到环境变量中。
  2. 下载了Tomcat,解压缩了它,并对它进行了以下更改(步骤2-4);在我添加了这个用户:conf/tomcat-users.xml

    <user username="admin" password="admin" roles="manager-gui,admin-gui" />
    
  3. 在i中,在元素下方添加了下面的代码conf/web.xmlorg.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. 下载了 apache-ant,并在目录中添加了一个文件,并使用以下脚本setenv.batapache-tomcat/bin

    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. 启动了 IntelliJ 并添加了 Tomcat 应用程序服务器。

  6. 然后我导入了项目并将其设置为使用我刚刚添加的Tomcat服务器。

页面更新时间: 2014-08-09 16:22

我试图部署一个JavaEE Web应用程序,这是IntelliJ自己创建的,它立即工作。似乎这本书引用的源代码有问题。


答案 1

我有类似的问题。问题出在“运行/调试配置”中的项目配置中。我不得不删除项目工件并重新添加它。重要的是选择Web应用程序:分解,从模块...

您可以阅读我的博客文章,其中包含有关此问题的屏幕截图。


答案 2

对我来说,它适用于:

文件>项目结构>右侧的输出布局中>“可用元素?

右键单击可用的库(对我来说是“Spring MVC-4.2.4.RELEASE”)

放入Lib(实际上点击修复警告按钮)

它奏效了。


推荐