首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jetty plugin NoClassDefFoundError

jetty plugin NoClassDefFoundError
EN

Stack Overflow用户
提问于 2015-10-27 16:34:33
回答 1查看 123关注 0票数 0

我创建了带有两个maven子模块的maven父模块。部署到Tomcat的是基于web的war输出应用程序,directory.The的问题是,为了测试war文件,我必须启动Tomcat并测试应用程序。对于这个场景,我决定在父POM.xml文件中使用jetty插件。以下是它的样子:

代码语言:javascript
复制
<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码头:运行-战争

它可以工作,但在错误上有问题:

代码语言:javascript
复制
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\文件夹中。

那么问题是如何告诉jetty将这个文件夹用作我的war文件的外部war?

注意:对于Tomcat本身,它运行的只是jetty的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-27 20:48:18

Jetty不使用log4j。

您为什么期望WebApp在servlet规范之外提供WebApp日志记录?

查看各种 methods以获取实际servlet规范日志记录。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33373506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档