![](/img/trans.png)
[英]java.lang.NoSuchMethodError: org.apache.log4j.Logger
[英]java.lang.NoSuchMethodError: org.apache.log4j.Logger : addAppender
我在迁移项目中工作,将 java 版本从1.4
迁移到1.8
。 我成功升级了jdk
并将应用程序运行到glassfich
服务器中,但我一直log4j 1.1.3
的问题,尽管它存在于 log4j 的log4j
中,但我在addAppender
方法中遇到了这个错误:
java.lang.NoSuchMethodError: org.apache.log4j.Logger (addAppender)
我尝试升级 log4j 版本并排除group org.slf4j
但问题仍然存在。
下面是我的代码:
build.gradle:
dependencies {
compile group: 'commons-net', name: 'commons-net', version: '3.+'
compile group: 'xerces', name: 'xercesImpl', version: '2.4.0'
compile group: 'xmlconvert', name: 'xflat', version: '2.2'
compile group: 'javax.mail', name: 'mail', version: '1.2'
compile group: 'struts', name: 'struts', version: '1.1'
compile group: 'javax.servlet', name: 'servlet-api', version: '2.3'
compile group: 'log4j', name: 'log4j', version: '1.1.3' }
configurations.all{
exclude group:"org.slf4j" , module: "log4j-over-slf4j"
}
ApplicationListener.java
Category cat = Category.getInstance (sCat);
cat.addAppender(new FileAppender(new PatternLayout(LOG_PATTERN), logFile, true));
你们有解决这个问题的其他建议吗,谢谢。
最后我找到了解决方案,默认情况下 Glassfish 不提供 Log4J 支持,所以你应该把log4j
jar 放在 Glassfish 的 lib 文件夹中( glassfish/lib/
)。 下面的解决方案链接: https://javaee.github.io/glassfish/wiki-archive/FaqCongifureLog4J.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.