2013-03-01 66 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。