分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

【原】Could not initialize class org.apache.log4j.Log4jLoggerFactory

发布时间:2023-09-06 02:09责任编辑:林大明关键词:apacheclass
  • 现象:正常运行的项目,从Jenkins迁到容器云上不能正常启动,报错误如下:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory ????????

    缺Log4j不可能,绝对不可能,同个版本的代码刚刚还在Jenkins上起来的。怎么办,仔细读下日志,发现有如下提示:

    很明显了,看来是log4j-over-slf4j.jar 和 slf4j-log4j12.jar 不能在同一个class path。

         

  • 解决:
  1. 利用maven找jar包冲突,执行依赖树命令,用 omitted for conflict with 检索。
mvn -X compile dependency:tree -Dverbose >a.log

   2. 排除依赖,即可。

<dependency> ???????????????<groupId>org.springframework.security</groupId> ???????????????<artifactId>spring-security-cas</artifactId> ???????????????<version>${spring.security.version}</version> ???????????????<exclusions> ???????????????????<exclusion> ???????????????????????<groupId>org.slf4j</groupId> ???????????????????????<artifactId>log4j-over-slf4j</artifactId> ???????????????????</exclusion> ???????????????????<exclusion> ???????????????????????<groupId>org.slf4j</groupId> ???????????????????????<artifactId>jul-to-slf4j</artifactId> ???????????????????</exclusion> ???????????????????<exclusion> ???????????????????????<groupId>org.slf4j</groupId> ???????????????????????<artifactId>slf4j-log4j12</artifactId> ???????????????????</exclusion> ???????????????</exclusions> ???????????</dependency>
  • 思考:
  1. 为什么之前Jenkins上能正常启动?猜测是tomcat8和tomcat7的区别吧。这是我这边看到的差别。最近很忙,留个思考题以后抽时间确认下。TODO
  2. 遇到问题看日志信息还是非常重要!

【原】Could not initialize class org.apache.log4j.Log4jLoggerFactory

原文地址:https://www.cnblogs.com/cooqer/p/9444009.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved