java - log4j2 在servlet3.1下报错NoClassDefFoundError
问题描述
我的maven配置
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>2.8.1</version> <scope>compile</scope></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.8.1</version> <scope>compile</scope></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.1</version> <scope>compile</scope></dependency>
然后我在main函数中调用一切正常
public class Test { private static final Logger LOGGER = LogManager.getLogger(Test.class); public static void main(String[] args) {LOGGER.error('cuo wu'); }}
但是在servlet中使用就会报错
@WebServlet(urlPatterns = '/index')public class Test extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {final Logger LOGGER = LogManager.getLogger();LOGGER.error('aefaefe');resp.getWriter().write('hi'); }}
错误信息是
java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
希望有经验的大佬帮帮忙
问题解答
回答1:可以在项目的发布目录下找一下对应的class文件是否存在
相关文章:
1. mysql - AttributeError: ’module’ object has no attribute ’MatchType’2. javascript - JS设置Video视频对象的currentTime时出现了问题,IE,Edge,火狐,都可以设置,反而chrom却...3. javascript - 图片能在网站显示,但控制台仍旧报错403 (Forbidden)4. MySQL客户端吃掉了SQL注解?5. 网页爬虫 - python爬虫翻页问题,请问各位大神我这段代码怎样翻页,还有价格要登陆后才能看到,应该怎么解决6. 数据库 - MySQL 单表500W+数据,查询超时,如何优化呢?7. objective-c - iOS怎么实现像QQ或者微信的实时推送8. php自学从哪里开始?9. 求大神帮我看看是哪里写错了 感谢细心解答10. phpstady在win10上运行
