glassfish - 部署 Web 应用程序期间出现 Log4j 错误

标签 glassfish log4j

我遇到问题,我尝试在 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_REFEREN‌​CES=false
</jvm-options>

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

关于glassfish - 部署 Web 应用程序期间出现 Log4j 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16295436/

相关文章:

java - Glassfish 4 无法启用远程管理?

Java 持久性问题

java - 对于在管理员端口上运行的另一台服务器,NetBeans GlassFish Server 4.0 失败

java - kafka-log4j-appender 0.9 不工作

java - 如何配置 log4j 以将不同的日志级别记录到同一记录器的不同文件中

java - 找不到记录器的附加程序 (org.apache.http.client.protocol.RequestAddCookies)

maven - jetty Maven 插件 NoClassDefFoundError

Glassfish:链接安全策略时出错

java - @WebFilter 和@WebServlet 部署的 Servlet 3 问题

logging - JMeter 同时登录控制台和日志查看器