我插件系統在我的Java應用程序。是否有可能隨時加載JAR/Java類到您的應用程序,還是必須將這些JAR/Java類包含到我的應用程序中?是否可以將JAR加載到正在運行的Java應用程序中?
我的想法是加載插件應用程序,然後調用這個類的接口方法,而不需要重新啓動Java應用程序。這是可能的,甚至是明智的嗎?
我插件系統在我的Java應用程序。是否有可能隨時加載JAR/Java類到您的應用程序,還是必須將這些JAR/Java類包含到我的應用程序中?是否可以將JAR加載到正在運行的Java應用程序中?
我的想法是加載插件應用程序,然後調用這個類的接口方法,而不需要重新啓動Java應用程序。這是可能的,甚至是明智的嗎?
我建議使用OSGi的動態插件的加載/卸載。它處理所有類加載的東西。如果你不能使用OSGi中,你將不得不使用自己的類加載器,並與待裝的jar文件的位置配置。
您可以通過使用自己的ClassLoader其所處的JAR文件,並返回類字節到JVM。看看本教程由太陽:http://java.sun.com/developer/onlineTraining/Security/Fundamentals/magercises/ClassLoader/help.html
我也建議OSGi的,但對於一個簡單的基於插件系統,檢查出的Java插件框架。它旨在簡化基於插件的系統,可在http://jpf.sourceforge.net/找到。
正如@Liv提到的那樣,類似URLClassLoader的東西可以用於簡單的一次性加載,但這是一個快速修復,而不是一個插件加載系統的好起點。