2011-10-31 26 views
0

我正在學習EJB,我試圖在JBoss 6上部署一個例子5天,但沒有多少運氣。 Maven構建可下載這裏http://db.tt/pW9Vb99QJboss 6部署,缺少依賴性問題

我收到以下錯誤

16:20:14,804 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/music-store-web]] Servlet /music-store-web threw load() exception: java.lang.NoClassDefFoundError: Could not initialize class org.jboss.logmanager.log4j.LevelMapping 
at org.jboss.logmanager.log4j.BridgeLogger.log(BridgeLogger.java:173) [:1.0.0.GA] 

非常感謝

+0

你可以檢查在日誌之前是否有堆棧跟蹤嗎?有時在你的耳朵裏發生編譯時錯誤會導致一些jboss組件出現部署錯誤,使得它不太清楚確切的問題是什麼。 – jpredham

回答

0

謝謝你的回溯。它表明你沒有找到log4j。這幾乎肯定是一個配置問題。

這裏有一個建議:

http://forum.springsource.org/showthread.php?61560-Could-not-initialize-class-org.apache.log4j.LogManager

引導在網絡 環境監聽定製的log4j初始化。代表Log4jWebConfigurer(請參閱其javadoc的 配置詳細信息)。

警告:

假設展開WAR文件,既爲加載配置文件 和寫入日誌文件。 如果您想保留WAR未展開或不需要WAR目錄中的特定於應用程序的日誌文件 ,請勿在 應用程序中使用log4j設置(因此請勿使用Log4jConfigListener或Log4jConfigServlet)。 相反,使用全局的,VM範圍的log4j設置(例如,在JBoss中)或JDK 1.4的java.util.logging(全局也是如此)設置 。

ALSO: 確保你不會不知爲什麼版本的log4j的。相互衝突的log4j * .jar文件也可能導致此錯誤。

+0

謝謝,通過削減依賴來破解這個問題,這是導致問題的支柱依賴性。儘管現在得到另一個錯誤 - 無賴 – BigBadOwl