java - 由于版本差异,jboss 中出现 log4j 错误

标签 java jboss log4j internal-server-error

我们正在将应用程序从 Maven 编译的代码部署到 JBoss。

Maven能够编译代码并被人们共享。此外,它使用 log4j 版本 1.2.16。在 JBoss 中,应用程序构建成功,但网页无法打开。

JBoss 在 server\default\libclient 文件夹中有 log4j.jar。另外,log4jboot.jar code> 位于 client 文件夹中。

由于它无法打开网页,因此我将 JBoss 中的所有日志 jar 更改为版本 1.2.16

现在应用程序已启动并且网页正在运行,但我无法在服务器命令提示符中看到日志详细信息。

目前这是错误:

failed to initialize plugin org.jboss.logging.log4jloggerplugin

有人可以对此提出想法吗?

编辑:

使用log4jboot.jar,错误是500错误:

type Exception report

// message:

 The server encountered an internal error () that prevented it from fulfilling this request.

// exception:

javax.servlet.ServletException: Filter execution threw an exception
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


// root cause:

java.lang.NoSuchMethodError: org/apache/log4j/MDC.clear()V

最佳答案

这将有助于了解您正在使用哪个版本的 JBoss。

JBoss 5.1.0.GA 附带 log4j 版本 1.2.14。 MDC.clear() 方法是在 1.2.16 中引入的,它可以解释如果您使用旧版本的 JBoss 时会遇到的 NoSuchMethodError。

一些可以尝试的解决方案:

  1. 删除所有对 MDC.clear() 方法的使用。
  2. 升级您的 JBoss 服务器。
  3. 将提供的 log4j jar 替换为您自己的 jar。

关于java - 由于版本差异,jboss 中出现 log4j 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15151122/

相关文章:

java - 找不到“org.apache.commons.logging.impl.Log4JLogger”

java - SLF4J Log4J Jboss 4.3 和 EJB 3.0

Java G1 GC 处理引用对象运行缓慢

java - 增加 Solr 搜索并发度

ubuntu - JBoss应用服务器7适配Red Hat

java - Wildfly TimerService 不满足依赖关系

java - 为什么服务器上出现上传的未知文件?

java - 如何摆脱 javafx TableView 中的 java 堆空间内存问题?

jboss - 使用 Intellij 想法调试 Jboss 7.x

java - 在 webapp 中以编程方式获取 tomcat 日志文件