我想在Java應用程序運行時發現接口的所有實現,並從用戶可以添加到文件夾的JAR文件動態加載這些類。基本上這是一個插件系統。簡單的Java服務發現框架
我發現這幾個解決方案:
- 使用SPI - 這是不是很靈活:我想的東西,或許與註釋工作,或只是看起來對於擴展的界面而不還必須添加外部文本文件。
- 使用Commons Discovery - 看起來像一個死衚衕,因爲最後一個版本是在2005年
- 回0.4使用Java Simple Plugin Framework. 5 minutes and it works. No XML. - 這看起來像是很不成熟。
是否還有其他廣泛使用的解決方案?
更新:不需要代碼分離,而且OSGi似乎對於我現在的簡單需求來說太複雜了。我還在這個問題的標題中加上了「簡單」來澄清我的意圖。
OSGi可以解決這樣的問題,此外還提供了保持模塊分離的方法等,如果您擁有依賴於其他庫的插件,這將非常重要。 – Jesper 2010-07-13 08:55:08