我正在进行一个将java版本从1.4
迁移到1.8
的迁移项目。我成功地升级了jdk
,并将应用程序运行到glassfich
服务器中,但我始终遇到log4j 1.1.3
的问题,并且我在addAppender
方法中遇到此错误,尽管它存在于log4j
的包中:
java.lang.NoSuchMethodError: org.apache.log4j.Logger (addAppender)
我尝试升级log4j版本并排除group org.slf4j
,但问题仍然存在。
下面是我的代码:
建筑物。等级:
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));
你有没有家伙另一个命题来解决这个问题,谢谢。
1条答案
按热度按时间irlmq6kh1#
最后我找到了解决方案,默认情况下Glassfish不提供Log4J支持,所以你应该把
log4j
jar放在Glassfish(glassfish/lib/
)的lib文件夹里。下面是解决方案的链接:https://javaee.github.io/glassfish/wiki-archive/FaqCongifureLog4J.html