1. 程式人生 > >執行jar檔案---如何呼叫jar包內的配置檔案

執行jar檔案---如何呼叫jar包內的配置檔案

這段時間隨便寫了一個小工具,一直用ide工具跑比較麻煩,試圖將工具打包成jar

利用cmd  java -jar test.jar 去執行這個工具發現 log4j 的配置檔案沒找到。

如上圖,我打成jar以後

我在 ide工具內 程式碼 如下圖

this.getClass().getClassLoader().getResource("").getPath()+"/yzx/yys/conf/log4j/log4j.xml";

通過這種形式去 初始化我的 log4j 日誌外掛,沒有報錯當我執行 jar 的時候 卻報錯

no config appenders 啥啥啥的。我就意識到了 沒有找到我的 日誌配置檔案。

我把 jar 解壓縮。發現 jar 裡的內容 是 src 目錄裡的所有東西,於是我轉變我的寫法

URL fileurl = this.getClass().getClassLoader().getResource("yzx/yys/conf/log4j/log4j.xml");
DOMConfigurator.configure(fileurl);

這樣就可以了,切記不要嘗試自己去拼檔案的絕對路徑,讀不出來的。

我之前也嘗試過其他寫法 

發現 打印出來的路徑 是 C:/user/yzx/Desktop/test.jar!yzx/yys/conf/log4j/log4j.xml。cmd裡 報錯,找不到這個路徑。

於是我百度如何 讀取jar包內的檔案,發現了。使用 Url 方式 獲取 jar 內的圖片路徑。然後轉變思路 。檢視 log4j 是否支援 url 。結果搞定了。~