【问题标题】:log4j error in jboss due to version differences由于版本差异,jboss 中的 log4j 错误
【发布时间】:2013-03-01 05:26:59
【问题描述】:

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

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

JBoss 在server\default\libclient 文件夹中有log4j.jar。另外,log4jboot.jarclient 文件夹中。

由于无法打开网页,我将 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

【问题讨论】:

  • 您不应该替换 log4jboot.jar。发布为什么它没有以旧 log4j 开头的详细信息。
  • @Vadzim 我确实编辑过...
  • 缺少 JBoss 版本。您是否尝试将 log4j.jar 更新到 1.2.16 并保留原始 log4jboot.jar?
  • 这就是我在编辑 1 之前所做的
  • 我们有 JBoss 4.2.x 的工作设置,带有原始 log4j-boot.jar 和升级的 server/default/lib/log4j.jar。您可以使用 -verbose:class 确保没有其他过时的 log4j 副本优先于类路径。

标签: java jboss log4j internal-server-error


【解决方案1】:

了解您使用的 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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 2014-01-09
    • 2016-09-14
    • 1970-01-01
    • 2021-06-05
    • 2019-08-20
    • 2015-08-16
    相关资源
    最近更新 更多