案例:本文主要描述linux系統(tǒng)執(zhí)行jar包讀取jar包同級(jí)目錄的外部配置文件
方法一:相對(duì)路徑設(shè)置配置文件
(1)在jar包同級(jí)目錄創(chuàng)建配置文件conf.properties并寫入配置數(shù)據(jù):
confData=data
(2)開始寫入自動(dòng)化測(cè)試代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//from www.fhadmin.cn public 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è)置配置文件
解決問題:使用相對(duì)路徑的方法在jar包同級(jí)目錄手動(dòng)執(zhí)行jar包時(shí)沒有問題,但使用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并寫入配置數(shù)據(jù):
confData=data
(2)開始寫入自動(dòng)化測(cè)試代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//from www.fhadmin.cn public 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ù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://www.cnblogs.com/teacher11/archive/2021/07/23/15048485.html