天天看點

Java讀取其他jar包裡的配置檔案

最近要做個東西,需要自己控制資料庫的事物,項目封裝的架構,實在是提不起去閱讀的興趣,

就想直接去讀架構的底層實作裡面的資料連接配接的配置檔案(如:Url,port,username,password等),

使用JDBC建立資料連接配接,拿到Connection後,事物就好辦了。

找到在一個A.jar包裡面的根目錄,有配置檔案B.properties,裡面有需要的配置。

難點就來了,Properties可以加載src下面的properties檔案,直接prop.load(this.getClass().getResourceAsStream("/B.properties"))就可以,

那在其他的jar包下面的properties檔案的路徑怎麼表示???

經過測試發現,第三方jar包的根目錄和src是同一個目錄(當然,要這個jar包在classpath裡面才行( ⊙ o ⊙ )啊)。

我的測試是在eclipse裡面進行的,在項目的classpath裡面加入A.jar包,jar包裡面隻有一個B.properties檔案

在測試代碼中,直接使用prop.load(this.getClass().getResourceAsStream("/B.properties")) 也是可以加載到B.properties檔案的。

得到結論,第三方jar相對于項目的目錄就類似于,把jar包裡面的檔案(檔案夾)直接放在項目的src下面。

如果要加載A.jar包裡面的“/resource/C/D/E.xml”,就是 this.getClass().getResourceAsStream("/resource/C/D/E.xml");

當然不要使用FileInputSteam("/resource/C/D/E.xml")是讀不到的(⊙o⊙)哦

(注:個人觀點,僅供參考)

轉載于:https://www.cnblogs.com/Springmoon-venn/p/5483778.html