SpringBoot?將配置文件掛到?jar?包外面的操作方法
一、SpringBoot 指定配置文件路徑:
在 SpringBoot 中,可以將配置文件放在 jar 包外面,這樣可以方便地修改配置而不需要重新打包和部署。
下面是指定配置文件目錄的 幾 種方法: (按生效優(yōu)先級從高到低排序)
1)使用命令行參數(shù):
在啟動應(yīng)用程序時,可以使用 --spring.config.location
或 -Dspring.config.location
命令行參數(shù)來指定配置文件的路徑,例如:(config 后面的 /
不可省略)
java -jar test.jar --spring.config.location=/opt/app/config/
補充:FHS將/opt定義為 “為安裝附加應(yīng)用軟件包而保留”。所以這里選擇 /opt
文件夾來存放應(yīng)用程序的配置文件。
2)使用環(huán)境變量:
可以設(shè)置 SPRING_CONFIG_LOCATION
環(huán)境變量來指定配置文件的路徑,例如:
export SPRING_CONFIG_LOCATION=/opt/app/config/ java -jar test.jar
3)使用外部配置文件:
- 方法一: 在應(yīng)用程序(jar包)
啟動命令執(zhí)行目錄下
創(chuàng)建一個名為config
的文件夾,然后將配置文件放在該文件夾中。 - 方法二: 在應(yīng)用程序(jar包)
同級目錄下
創(chuàng)建一個名為config
的文件夾,然后將配置文件放在該文件夾中。在代碼的配置文件application.properties
或application.yml
中添加以下行:
spring.config.name=application spring.config.location=classpath:/,file:./config/
- 方法三: 在應(yīng)用程序(jar包)
同級目錄下
直接放properties
或yml
配置文件。 - 方法四: 在應(yīng)用程序(jar包)內(nèi)部的
classpath
的同級目錄下
,創(chuàng)建config
文件夾,然后放properties
或yml
配置文件。 - 方法五: 在應(yīng)用程序(jar包)內(nèi)部的
classpath
的同級目錄下
,然后直接放properties
或yml
配置文件。
注意:以上方法可以組合使用,例如,可以在命令行參數(shù)和環(huán)境變量中同時指定配置文件的路徑,執(zhí)行時命令行參數(shù)的優(yōu)先級最高。
二、SpringBoot 配置文件生效的優(yōu)先級排序:
java -jar
命令行中,通過--spring.config.location
參數(shù)指定的方式優(yōu)先級最高。- 設(shè)置
SPRING_CONFIG_LOCATION
環(huán)境變量來指定配置文件的路徑是次優(yōu)先級。 - 在執(zhí)行
java -jar
命令同級目錄下的config
文件夾是第三優(yōu)先級。 - 注意:如果
java -jar
命令不是在項目 jar 包 同級目錄執(zhí)行的話,在項目 jar 包同級目錄下的config
文件夾是不生效的。 - 項目 jar 包中
properties
或yml
文件中指定spring.config.location
配置文件夾是第四優(yōu)先級。 - 項目 jar 包同級下直接放
properties
文件是第五優(yōu)先級,直接把配置文件放到 jar 包的同級目錄。 - 項目內(nèi)部的
classpath
同級config
文件夾是第六優(yōu)先級,在 classpath 下建一個 config 文件夾,然后把配置文件放進去。 - 項目內(nèi)部的
classpath
同級放properties
文件是最低優(yōu)先級,是在classpath
下直接放配置文件。
SpringBoot 默認是優(yōu)先讀取java -jar
命令同級目錄下的一個 config/application.properties
文件的。
在項目內(nèi) src/main/resources
文件夾下創(chuàng)建的 application.properties
文件的優(yōu)先級是最低的。
整理完畢,完結(jié)撒花~ ??
參考資料地址:
1.java配置文件放置到j(luò)ar外_Spring Boot配置文件放在jar外部,https://blog.csdn.net/weixin_39885690/article/details/114888138
2.Spring Boot 把配置文件和日志文件放到j(luò)ar外部,https://blog.csdn.net/weixin_45433031/article/details/127279358
到此這篇關(guān)于SpringBoot 如何將配置文件掛到 jar 包外面的文章就介紹到這了,更多相關(guān)SpringBoot 將配置文件掛到 jar 包外面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring通過三級緩存解決循環(huán)依賴問題的過程詳解
循環(huán)依賴指的是在對象之間存在相互依賴關(guān)系,形成一個閉環(huán),導(dǎo)致無法準(zhǔn)確地完成對象的創(chuàng)建和初始化,本文主要介紹了Spring通過三級緩存解決循環(huán)依賴的方法,需要的可以參考下2023-10-10淺析如何在Java應(yīng)用中優(yōu)雅的發(fā)送短信
很多業(yè)務(wù)場景里,我們都需要發(fā)送短信,比如登陸驗證碼、告警、營銷通知、節(jié)日祝福等等,這篇文章,我們聊聊 Java 應(yīng)用中如何優(yōu)雅的發(fā)送短信,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下2023-11-11SpringBoot配置lombok與logback過程解析
這篇文章主要介紹了SpringBoot配置lombok與logback過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05Spring?boot?運用策略模式實現(xiàn)避免多次使用if的操作代碼
這篇文章主要介紹了Spring?boot?運用策略模式實現(xiàn),避免多次使用if,使用策略模式后,新加一種支付策略時,只需要在策略枚舉中添加新加的策略信息,外加一個策略類即可,而不再需要添加新的if判斷,需要的朋友可以參考下2022-08-08java使用common-httpclient包實現(xiàn)post請求方法示例
這篇文章主要給大家介紹了關(guān)于java使用common-httpclient包實現(xiàn)post請求的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08Java?SE使用for?each循環(huán)遍歷數(shù)組的方法代碼
在Java?SE開發(fā)中,數(shù)組是最常見的數(shù)據(jù)結(jié)構(gòu)之一,Java提供了多種遍歷數(shù)組的方式,其中for循環(huán)是最常用的方式之一,本文將介紹如何使用for?each循環(huán)遍歷數(shù)組,接下來,我們將通過一個簡單的代碼示例來展示如何使用for?each循環(huán)遍歷數(shù)組,需要的朋友可以參考下2023-11-11