2013-03-01 80 views
1

我们正在将我们的应用程序从maven编译代码部署到JBoss。由于版本差异导致的jboss中的log4j错误

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

JBoss已经在server\default\libclient folders.Plus的log4j.jarlog4jboot.jar是在client文件夹中。

因为它不能用于打开网页,所以我将JBoss中的所有日志罐更改为版本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 
+0

您不应该替换log4jboot.jar。发布详细信息为什么它没有从旧的log4j开始。 – Vadzim 2013-03-01 05:43:08

+0

@Vadzim我编辑过... – 2013-03-01 05:53:12

+0

缺少JBoss版本。你有没有尝试更新log4j.jar到1.2.16,并保留原来的log4jboot.jar? – Vadzim 2013-03-01 14:06:09

回答

2

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

JBoss 5.1.0.GA附带log4j版本1.2.14。在1.2.16中介绍了MDC.clear()方法,它将解释如果您使用的是旧版本的JBoss,您将得到的NoSuchMethodError。

一些解决方案尝试:

  1. 取出MDC.clear()方法的所有用途。
  2. 升级您的JBoss服务器。
  3. 用您自己的替换提供的log4j jar。