我有一些代碼,調用..getClass()。getClassLoader()爲null,爲什麼?
x = getClass().getClassLoader();
這雖然返回null。
當我從Eclipse啓動相同的代碼,但在命令行中,它返回一個類加載器。
我可以破解的代碼做到這一點...
if (getClass().getClassLoader() == null)
{
x = ClassLoader.getSystemClassLoader().getSystemResourceAsStream(loadedPropFileName);
}
都被編譯並用相同的JVM上運行。 (我99.99%肯定)。
任何人有任何想法,爲什麼第一個將爲類加載器返回null?
編輯:
我的問題是不「任何人有任何想法,爲什麼當通過Eclipse和命令行加載時一個類加載器啓動時的同一類將返回null」
感謝Bootstap加載器必須在Eclipse中加載類的建議。我不知道爲什麼會發生這種情況。
是的,但如果執行方式相同,爲什麼命令行和Eclipse中的行爲不同。我認爲這是OP真正要求的...... – 2009-12-17 12:02:37
如果他想知道與他所要求的不同的東西,爲什麼他不問他真正想知道的內容? – Bombe 2009-12-17 12:22:50