(工作小記)不同jar包下的同名同路徑配置文件讀取

問題場景:
Demo工程引入a.jar,b.jar兩個(gè)jar包,a.jar和b.jar下都存在同一個(gè)db.properties配置文件,讀取配置信息的時(shí)候是否存在沖突和覆蓋的問題?

工作中幾種常用的讀取方式
方式一:

            Thread.currentThread().getContextClassLoader().getResourceAsStream("xxx.properties");

方式二:

            Thread.class.getResourceAsStream("xxx.properties")

方式三:

            Enumeration<URL> urls = Thread.currentThread().getContextClassLoader().getResources("xxx.properties");
            while(urls.hasMoreElements()) {
                InputStream inst = urls.nextElement().openStream();
            }

經(jīng)驗(yàn)證:
方式一和方式二都只能讀取到一個(gè)配置文件信息,優(yōu)先級由-classpath 引入jar的順序決定,靠前的jar的配置文件具有更高的優(yōu)先級。
而方式三則能讀取到不同jar下的所有同名配置文件。

轉(zhuǎn)載請備注原文鏈接。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容