方法一:相對路徑設定設定檔
(1)在jar包同級目錄建立設定檔conf.properties並寫入組態資料:
##confData=data(2)開始寫入自動化測試程式碼
//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(); //获取配置文件数据 String confData = properties.getProperty("confData"); System.out.println(confData); } }(3)執行jar套件
java -jar jarNanexxx#方法二:絕對路徑設定設定檔
解決問題:使用相對路徑的方法在jar包同級目錄手動執行jar包時沒有問題,但使用linux系統的crontab檔定時調度時報錯,原因:因為我們手動執行某個腳本時,是在目前shell環境下進行的,程式能找到環境變數;而係統自動執行任務調度時,除了預設的環境,是不會載入任何其他環境變數的。因此就需要在crontab檔案中指定任務執行所需的所有環境變量,或在程式中使用絕對路徑。
(1)在jar包同級目錄建立設定檔conf.properties並寫入組態資料:
#confData=data##(2)開始寫入自動化測試程式碼
//from www.fhadmin.cn public 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(); //获取配置文件数据 String confData = properties.getProperty("confData"); System.out.println(confData); } }
(3)執行jar套件
java -jar jarNanexxx以上是springboot怎麼運行jar包讀取外部設定檔的詳細內容。更多資訊請關注PHP中文網其他相關文章!