2

我有一个问题,我尝试在 glasfish 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)
4

2 回答 2

3

将 org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES 系统属性设置为 false。

<jvm-options>
    org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFEREN‌​CES=false
</jvm-options>

这可以在 Glassfish 的 domain.xml 文件中找到 (glassfish/domains/domain1/config)

于 2013-04-30T08:41:28.017 回答
0

我为我工作。 <jvm-options> org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFEREN‌​CES=false </jvm-options> 它应该在 和 之间。您可以在( {glassfish 域文件夹}/glassfish/domains/domain1 /config)中找到 domain.xml 。我使用了 log4j-1.2.17 和 GlassFish Server 3.1

于 2015-09-27T17:55:30.450 回答