我遇到问题,我尝试在 glassfish 3.1.2 中部署我的 Web 项目,它工作正常,但抛出以下错误,请帮助我了解问题所在
SEVERE: log4j:ERROR log4j called after unloading, see http://logging.apache.org/log4j/1.2/faq.html#unload.
SEVERE: 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.apache.log4j.Logger.getLogger(Logger.java:104)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:229)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:65)
at sun.reflect.GeneratedConstructorAccessor47.newInstance(Unknown Source)
最佳答案
将 org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES 系统属性设置为 false。
<jvm-options>
org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false
</jvm-options>
这可以在 Glassfish 的 domain.xml 文件中找到 (glassfish/domains/domain1/config)
关于glassfish - 部署 Web 应用程序期间出现 Log4j 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16295436/