2015-04-27 43 views
0

我試圖讓classpath中(所有,該項目已加載庫),此刻我正在使用此聲明嘗試:如何在WebLogic中使用ClassLoader知道EAR中的類路徑?

ClassLoader jre = JREvaluator.class.getClassLoader(); 

我得到的是:

weblogic.utils.classloaders.GenericClassLoader @ 109774a 

從這裏,如果我正在使用WebLogic,如何獲得類路徑。我已經使用了許多通過互聯網找到的選項,但是這個類不允許使用以下方法:URLClassLoader.getURLs(),因爲它屬於Oracle。

回答

0

引導類加載器是Java類加載器層次結構的根。 Java虛擬機(JVM)創建引導類加載器,該類加載器加載包含在JVM中的Java開發工具包(JDK)內部類和java。*包。 (例如,引導類加載器加載java.lang.String。)

擴展類加載器是引導類加載器的子代。擴展類加載器加載放置在JDK的擴展目錄中的所有JAR文件。這是擴展JDK而不添加條目到類路徑的便捷方式。但是,擴展目錄中的任何內容都必須是自包含的,並且只能引用擴展目錄或JDK類中的類。

系統類路徑類加載器擴展了JDK擴展類加載器。系統classpath類加載器從JVM的類路徑加載類。特定於應用程序的類加載器(包括WebLogic Server類加載器)是系統類路徑類加載器的子代。 有關WebLogic類加載器的更多信息,請參閱下面 http://docs.oracle.com/cd/E21764_01/web.1111/e13706/classloading.htm#WLPRG285

-verbose:dynload和-verbose:類提供了對已加載的類的更多信息。 https://www-304.ibm.com/support/knowledgecenter/SSSTCZ_2.0.0/com.ibm.softrt.aix32.doc/realtime/rt_standard_options.html

對於更多類相關的JVM參數。

+0

您的解釋很好,謝謝。但是,在加載WebLogic時,我沒有關注java參數,因爲我沒有訪問權限。我已經找到了答案。問候, –

0

好吧,有必要從weblogic.utils.classloaders.GenericClassLoader查找原代碼,我發現這個方法:

public String getClassPath() { ... } 

隨着該方法它真的很容易得到的所有內部罐子你的應用。

相關問題