我有一个在Glassfish中运行的Grails应用程序,但是当我取消部署它时会得到一个
类不变违规
快速查看堆栈跟踪并在网上搜索报告这是Log4j的一个问题
我正在使用log4j-1.2.16.jar
有关如何克服此错误的任何建议。
[Mon, 22-Aug-2011 @ 09:23:32.494] [admin-thread-pool-4848(64)] ERROR javax.enterprise.system.std.com.sun.enterprise.server.logging - java.lang.IllegalStateException: Class invariant violation
at org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:199)
at org.apache.log4j.LogManager.getLogger(LogManager.java:228)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:243)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
[编辑1]
我刚刚在Spring源论坛上发现了这个有趣的内容:
建议使用以下方法来避免此问题:
[解决] 设置属性
org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES = false
Glassfish中的domain.xml文件中的解决了问题