我想問一下UrlClassLoaders。我寫了一個主要的.jar文件,效果很好。現在我想讓它能夠從其中一個文件夾加載插件。我寫了它,直到它找到文件夾中的.jar文件,可以列出其內部的類(它們的名稱,路徑)。問題是,當我問他找到類(創建它的一個實例),他們不會找到它從我的主要jar文件這樣inherites類:ClassLoader類依賴(插件)
IN MAIN JAR:
-class Expansion { ... }
In a plugin jar:
-class ExpansionA extends MainJar.Expansion { ... }
所以,當我問一個的URLClassLoader要解決「ExpansionA」類,它將在插件jar中而不是MainJar中搜索「Expansion」類,並且在插件jar中沒有「Expansion」類,因爲它從MainJar繼承爲一個資源庫...並拋出NoDefFoundForClassError異常,而defineClass方法。我怎麼能告訴他在MainJar上課之後也要檢查一下? (它不僅僅只有一個類,但我希望插件能夠從MainJar繼承任何類)。你能幫我嗎?
我明白了!我嘗試過,它的工作原理。謝謝! –