2013-05-03 69 views
2

我正在嘗試爲我的Java應用程序創建一個模塊系統,它將在目錄中加載模塊(只是jar文件)。如果主類在com.example.core中,並且主類名爲「Main」,則每個模塊都會在其中具有一個config.yml鏈接到主類IE,它將具有com.example.core.Main 。我已經得到它加載yml文件,我可以得到這個屬性,但我無法解決如何從jar文件加載類。主類將擴展名爲'Module'的模塊加載器應用程序中的類,因此我需要保留該實例並將其放入Map中,但所有實例都將擴展Module。這與Bukkit的相似(http://bukkit.org)。在Jar文件中加載類

感謝您的幫助,
巴特

回答

0

你的意思是你需要動態地從一個目錄中加載的jar文件?

URLClassLoader可能適合您的需求。

這是我的例子。

URL[] urls = .... 
URLClassLoader loader = new URLClassLoader(urls); 
Class<?> cls = loader.loadClass("com.example.core.Main"); 
Module module = (Module) cls.newInstance(); 

我希望這會對你有用。