springboot 運(yùn)行 jar 包讀取外部配置文件的問(wèn)題
案例:本文主要描述linux系統(tǒng)執(zhí)行jar包讀取jar包同級(jí)目錄的外部配置文件方法一:相對(duì)路徑設(shè)置配置文件(1)在jar包同級(jí)目錄創(chuàng)建配置文件conf.properties并寫(xiě)入配置數(shù)據(jù):
confData=data
(2)開(kāi)始寫(xiě)入自動(dòng)化測(cè)試代碼
//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
方法二:絕對(duì)路徑設(shè)置配置文件解決問(wèn)題:使用相對(duì)路徑的方法在jar包同級(jí)目錄手動(dòng)執(zhí)行jar包時(shí)沒(méi)有問(wèn)題,但使用linux系統(tǒng)的crontab文件定時(shí)調(diào)度時(shí)報(bào)錯(cuò),原因:因?yàn)槲覀兪謩?dòng)執(zhí)行某個(gè)腳本時(shí),是在當(dāng)前shell環(huán)境下進(jìn)行的,程序能找到環(huán)境變量;而系統(tǒng)自動(dòng)執(zhí)行任務(wù)調(diào)度時(shí),除了默認(rèn)的環(huán)境,是不會(huì)加載任何其他環(huán)境變量的。因此就需要在crontab文件中指定任務(wù)運(yùn)行所需的所有環(huán)境變量,或者在程序中使用絕對(duì)路徑。(1)在jar包同級(jí)目錄創(chuàng)建配置文件conf.properties并寫(xiě)入配置數(shù)據(jù):
confData=data
(2)開(kāi)始寫(xiě)入自動(dòng)化測(cè)試代碼
//from www.fhadmin.cnpublic class Test{ public String getData() throws IOException { //獲取jar包同級(jí)目錄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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. php模擬實(shí)現(xiàn)斗地主發(fā)牌2. Python random庫(kù)使用方法及異常處理方案3. 理解PHP5中static和const關(guān)鍵字4. spring acegi security 1.0.0 發(fā)布5. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)6. Vuex localStorage的具體使用7. jQuery 實(shí)現(xiàn)DOM元素拖拽交換位置的實(shí)例代碼8. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟9. vue 使用localstorage實(shí)現(xiàn)面包屑的操作10. MyBatis中的JdbcType映射使用詳解

網(wǎng)公網(wǎng)安備