- 給我有兩個Maven的場景投射ABC-共同和ABC-服務
- ABC-服務依賴於abc-common項目。
ABC-共同從性能讀取文件名爲
myConfig.properties
如下:class PropertiesUtil { ..... Properties props = new Properties(); props.load(PropertiesUtil.class.getClassLoader().getResourceAsStream("myConfig.properties")); .... }
這工作得很好,當我通過創建無論是在項目的僞主方法測試。
但是,當我將這個項目部署到一個OSGI容器(JBOSS熔絲)時,它不起作用。主要原因是,在OSGI容器中,PropertiesUtil.class.getLoader()
是指對應於abc-service項目的捆綁包,我可以從該項目讀取任何文件,但不能從abc-common項目讀取。
所以現在的問題是,我怎樣才能改變我的代碼,這樣,它可以在OSGi容器中讀取ABC-共同項目的類路徑屬性。
注意 我部署我的項目作爲karaf功能,同時列出ABC-服務和ABC-共同束作爲依賴。
而且,我嘗試了不同的變種一樣
Thread.currentThread().getContextClassLoader().getResourceAsStream("myConfig.properties")
和
FrameworkUtil.getBundle(PropertiesUtil.class).getEntry("myConfig.properties.")
但沒有人真正
你把屬性文件放在Fuse的etc文件夾中嗎? –
@SoucianceEqdamRashti。不,我只是在項目內添加屬性文件,它存在於'.jar'文件中。 – niyasc
我試着在'/ etc'文件夾和結構配置文件中添加屬性文件。兩種方法都行不通。 – niyasc