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. objective-c - 使用axios 通过vuex mutation修改数据 getter第一次获取失败 第二次成功2. css3 - 新版支付宝 账单页面滑动时月份栏被下一个月给顶上去是什么效果3. mysql group by多个字段4. javascript - 关于js原生事件的绑定与解除绑定5. javascript - Vue 自定义控件v-model双向绑定6. docker网络端口映射,没有方便点的操作方法么?7. docker绑定了nginx端口 外部访问不到8. 把h5放入webview里面,h5页面上下可以回弹,怎么可以去掉该效果9. python - celery beat 调度如何运行期间动态添加任务?10. docker start -a dockername 老是卡住,什么情况?

网公网安备