最近要做個東西,需要自己控制數據庫的事物,項目封裝的框架,實在是提不起去閱讀的興趣,
就想直接去讀框架的底層實現里面的數據連接的配置文件(如: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⊙)哦
(注:個人觀點,僅供參考)