我有一個Java項目,期望外部模塊註冊它。這些模塊:在Java項目中引用外部模塊的最佳實踐
- 實現主體工程
- (有任何依賴關係一起)打包成單罐子特定接口
- 含有一些人類可讀元信息(如模塊名稱) 。
我的主項目需要能夠在運行時加載(例如使用自己的類加載器)任何這些外部模塊。我的問題是:在主項目中註冊這些模塊的最佳方式是什麼(我寧願保留這個vanilla Java,而不是爲這個孤立的問題使用任何第三方框架/庫)?
我目前的解決方案是在主項目中保留一個.properties文件,其中key = name,value = class | delimiter |人類可讀名稱(或者協調兩個.properties文件以避免分隔符分析)。在運行時,主項目將加載到.properties文件中,並使用它找到的任何條目來驅動類加載器。
這讓我覺得很尷尬。有沒有更好的方法呢?