【问题标题】:jetty-maven-plugin NoClassDefFoundErrorjetty-maven-plugin NoClassDefFoundError
【发布时间】:2015-10-27 16:34:33
【问题描述】:

我用两个 maven 孩子创建了 maven 父模块。它是部署到Tomcat目录的war输出中基于Web的应用程序。问题是为了测试war文件,我必须启动Tomcat并测试应用程序。对于这种情况,我决定在父 POM.xml 文件中使用 jetty maven 插件。下面是它的样子:

<modules>
    <module>hellojavaworld</module>
    <module>application</module>
</modules>




  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <source>1.5</source>
      <target>1.5</target>
    </configuration>
  </plugin>


  <plugin>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-maven-plugin</artifactId>
       <version>9.2.11.v20150529</version>
      <configuration>
            <scanIntervalSeconds>10</scanIntervalSeconds>
             <webApp>
              <contextPath>/hellojavaworld</contextPath>           
             </webApp>   
         <war>c:\apache-tomcat-7.0.64\webapps\hellojavaworld.war</war>
        </configuration>
  </plugin>

如果我手动启动 Tomcat 并使用 http://localhost:8080/hellojavaworld 它工作正常。 另一方面当使用时

mvn jetty:run-war

它可以工作,但遇到错误:

HTTP ERROR 500
Problem accessing /hellojavaworld/HelloServlet. Reason: 

Server Error

Caused by:
java.lang.NoClassDefFoundError: org/apache/log4j/Level

我知道这个问题很常见,因为缺少 jars。我知道这些罐子放在 c:\apache-tomcat-7.0.64\lib\ 文件夹中。

所以问题是如何告诉码头使用这个文件夹作为我的战争文件的外部罐子?

注意:它运行的Tomcat本身,只是码头有问题。

【问题讨论】:

    标签: maven tomcat log4j jetty war


    【解决方案1】:

    Jetty 不使用 log4j。

    您为什么希望 Web 容器在 servlet 规范之外提供您的 WebApp 日志记录?

    查看各种ServletContext.log() methods 以了解实际的 servlet 规范日志记录

    建议:将 log4j jar 文件放在 webapp 的WEB-INF/lib/

    【讨论】:

    • 是否有任何解决方法可以使用其他插件而不是码头?我现在不想更改我在 lib 文件夹中创建 jar 的 pom.xml。
    • 如果您转而使用其他 Web 容器,您会发现很少有人使用或提供 log4j。即使在这些容器上,您仍然需要在 WEB-INF/lib 中包含 log4j。
    • 大家好。非常感谢。我已将 maven war 插件的配置更改为它包含所有必要的 jar 并将它们放入 WEB-INF/lib 文件夹的方式,它就像梅赛德斯一样工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2011-05-30
    • 2014-04-23
    • 2011-02-28
    • 2011-05-08
    • 2016-03-23
    • 2015-06-06
    相关资源
    最近更新 更多