当项目使用log4j2时,如何使用log4j1.x处理依赖关系

当项目使用log4j2时,如何使用log4j1.x处理依赖关系,log4j,log4j2,Log4j,Log4j2,我的项目使用log4j2,在运行使用第三方库(使用log4j1.x)的应用程序之前,一切看起来都很好。当我们的应用程序启动时,我们会在org.apache.log4j.ConsoleAppender上得到一个恼人的堆栈跟踪,其中涉及ClassNotFoundException。我注意到我们的一个依赖项在引用org.apache.log4j.ConsoleAppender的jar中有一个log4j.properties,所以我猜这就是堆栈跟踪的原因。导致此错误的两个其他依赖项包括使用JBoss日志

我的项目使用log4j2,在运行使用第三方库(使用log4j1.x)的应用程序之前,一切看起来都很好。当我们的应用程序启动时,我们会在org.apache.log4j.ConsoleAppender上得到一个恼人的堆栈跟踪,其中涉及ClassNotFoundException。我注意到我们的一个依赖项在引用org.apache.log4j.ConsoleAppender的jar中有一个log4j.properties,所以我猜这就是堆栈跟踪的原因。导致此错误的两个其他依赖项包括使用JBoss日志类的大部分内容,如嵌入式glassfish和eclipse持久性包

我尝试将log4j-1.2.bridge api jar添加到类路径,但没有效果


在我们的应用程序类路径中同时包含log4j2和log4j1.x的jar似乎有点可笑。是否有其他选择或解决方案?

这些链接为我提供了答案:


看起来我们使用的是一个过时版本的JBoss日志,它不支持log4j2。但是,对于包含log4j.properties的一个依赖项,我仍然不确定该怎么做


[编辑]事实证明,添加log4j-jcl-2.0jar对该依赖项有效。

我遇到了同样的问题。我的应用程序中的simplejavamail使用log4j 1.2,因此我正在寻找一个不涉及使用两个不同版本的log4j的解决方案。您是否设法解决了问题?您需要将log4j2“1.2.x api桥jar”添加到您的项目中。