2009-11-04 67 views
9

說我正在調試部署在Java EE應用服務器內部的應用程序的一些奇怪的類加載問題。出於某種原因,我在兩個類加載器(2個不同的EAR類加載器)的類路徑上重複了jar,並且這些類加載器的名稱空間中的類需要協作。任何工具來查看類加載器樹的圖片?

所以問題是:是否存在任何可以顯示類加載器樹的圖像(圖片)以及每個類加載器的存儲庫的工具?當然,顯示一張圖片並不重要,如果它可能是某種動態用戶界面(即像Windows資源管理器樹形摺疊/展開),我會非常高興。

UPD:我正在使用JBoss 5.1。

謝謝

回答

3

在JBoss中,你可以log all classloader events,它應該能夠精確地告訴你你的衝突類在哪裏,如果你可以篩選冗長的話。

或者你也可以進入jmx控制檯,找到jboss.classloader部分,找到你的耳朵(類似於id="vfszip:/apps/jboss-5.1.0.GA/server/default/deploy/your.war/")的條目並調用findClassLoaderForClass來爲你提供問題的類。

+0

鏈接只顯示jboss文檔。在確定在哪裏可以找到這個信息不是很有幫助? – 2013-03-05 17:52:07

+0

鏈接更新:https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/4.3/html/Server_Configuration_Guide/Class_Loading_and_Types_in_Java-LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are.html – 2014-05-13 11:47:20