springboot 運(yùn)行 jar 包讀取外部配置文件的問題
案例:本文主要描述linux系統(tǒng)執(zhí)行jar包讀取jar包同級目錄的外部配置文件方法一:相對路徑設(shè)置配置文件(1)在jar包同級目錄創(chuàng)建配置文件conf.properties并寫入配置數(shù)據(jù):
confData=data
(2)開始寫入自動化測試代碼
//from www.fhadmin.cnpublic class Test{ public String getData() throws IOException {//讀取配置文件Properties properties = new Properties();File file = new File('conf.properties');FileInputStream fis = new FileInputStream(file);properties.load(fis);fis.close();//獲取配置文件數(shù)據(jù)String confData = properties.getProperty('confData');System.out.println(confData); }}
(3)執(zhí)行jar包
java -jar jarNanexxx
方法二:絕對路徑設(shè)置配置文件解決問題:使用相對路徑的方法在jar包同級目錄手動執(zhí)行jar包時(shí)沒有問題,但使用linux系統(tǒng)的crontab文件定時(shí)調(diào)度時(shí)報(bào)錯(cuò),原因:因?yàn)槲覀兪謩訄?zhí)行某個(gè)腳本時(shí),是在當(dāng)前shell環(huán)境下進(jìn)行的,程序能找到環(huán)境變量;而系統(tǒng)自動執(zhí)行任務(wù)調(diào)度時(shí),除了默認(rèn)的環(huán)境,是不會加載任何其他環(huán)境變量的。因此就需要在crontab文件中指定任務(wù)運(yùn)行所需的所有環(huán)境變量,或者在程序中使用絕對路徑。(1)在jar包同級目錄創(chuàng)建配置文件conf.properties并寫入配置數(shù)據(jù):
confData=data
(2)開始寫入自動化測試代碼
//from www.fhadmin.cnpublic class Test{ public String getData() throws IOException { //獲取jar包同級目錄String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();String[] pathSplit = path.split('/');String jarName = pathSplit[pathSplit.length - 1];String jarPath = path.replace(jarName, '');String pathName=jarPath+'minhang.properties';System.out.println('配置文件路徑:'+jarPath);//讀取配置文件Properties properties = new Properties();File file = new File(pathName);FileInputStream fis = new FileInputStream(file);properties.load(fis);fis.close();//獲取配置文件數(shù)據(jù)String confData = properties.getProperty('confData');System.out.println(confData); }}
(3)執(zhí)行jar包
java -jar jarNanexxx
到此這篇關(guān)于springboot 運(yùn)行 jar 包讀取外部配置文件的文章就介紹到這了,更多相關(guān)springboot 配置文件內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問題及解決2. python爬蟲實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊3. 如何在jsp界面中插入圖片4. 詳解盒子端CSS動畫性能提升5. WML的簡單例子及編輯、測試方法第1/2頁6. 解決ajax請求后臺,有時(shí)收不到返回值的問題7. ajax請求后臺得到j(luò)son數(shù)據(jù)后動態(tài)生成樹形下拉框的方法8. asp批量添加修改刪除操作示例代碼9. HTML 絕對路徑與相對路徑概念詳細(xì)10. .NET6打包部署到Windows Service的全過程
