SpringBoot?將配置文件掛到?jar?包外面的操作方法
一、SpringBoot 指定配置文件路徑:
在 SpringBoot 中,可以將配置文件放在 jar 包外面,這樣可以方便地修改配置而不需要重新打包和部署。
下面是指定配置文件目錄的 幾 種方法: (按生效優(yōu)先級(jí)從高到低排序)
1)使用命令行參數(shù):
在啟動(dòng)應(yīng)用程序時(shí),可以使用 --spring.config.location 或 -Dspring.config.location 命令行參數(shù)來(lái)指定配置文件的路徑,例如:(config 后面的 / 不可省略)
java -jar test.jar --spring.config.location=/opt/app/config/
補(bǔ)充:FHS將/opt定義為 “為安裝附加應(yīng)用軟件包而保留”。所以這里選擇 /opt 文件夾來(lái)存放應(yīng)用程序的配置文件。
2)使用環(huán)境變量:
可以設(shè)置 SPRING_CONFIG_LOCATION 環(huán)境變量來(lái)指定配置文件的路徑,例如:
export SPRING_CONFIG_LOCATION=/opt/app/config/ java -jar test.jar
3)使用外部配置文件:
- 方法一: 在應(yīng)用程序(jar包)
啟動(dòng)命令執(zhí)行目錄下創(chuàng)建一個(gè)名為config的文件夾,然后將配置文件放在該文件夾中。 - 方法二: 在應(yīng)用程序(jar包)
同級(jí)目錄下創(chuàng)建一個(gè)名為config的文件夾,然后將配置文件放在該文件夾中。在代碼的配置文件application.properties或application.yml中添加以下行:
spring.config.name=application spring.config.location=classpath:/,file:./config/
- 方法三: 在應(yīng)用程序(jar包)
同級(jí)目錄下直接放properties或yml配置文件。 - 方法四: 在應(yīng)用程序(jar包)內(nèi)部的
classpath的同級(jí)目錄下,創(chuàng)建config文件夾,然后放properties或yml配置文件。 - 方法五: 在應(yīng)用程序(jar包)內(nèi)部的
classpath的同級(jí)目錄下,然后直接放properties或yml配置文件。
注意:以上方法可以組合使用,例如,可以在命令行參數(shù)和環(huán)境變量中同時(shí)指定配置文件的路徑,執(zhí)行時(shí)命令行參數(shù)的優(yōu)先級(jí)最高。
二、SpringBoot 配置文件生效的優(yōu)先級(jí)排序:
java -jar命令行中,通過(guò)--spring.config.location參數(shù)指定的方式優(yōu)先級(jí)最高。- 設(shè)置
SPRING_CONFIG_LOCATION環(huán)境變量來(lái)指定配置文件的路徑是次優(yōu)先級(jí)。 - 在執(zhí)行
java -jar命令同級(jí)目錄下的config文件夾是第三優(yōu)先級(jí)。 - 注意:如果
java -jar命令不是在項(xiàng)目 jar 包 同級(jí)目錄執(zhí)行的話,在項(xiàng)目 jar 包同級(jí)目錄下的config文件夾是不生效的。 - 項(xiàng)目 jar 包中
properties或yml文件中指定spring.config.location配置文件夾是第四優(yōu)先級(jí)。 - 項(xiàng)目 jar 包同級(jí)下直接放
properties文件是第五優(yōu)先級(jí),直接把配置文件放到 jar 包的同級(jí)目錄。 - 項(xiàng)目?jī)?nèi)部的
classpath同級(jí)config文件夾是第六優(yōu)先級(jí),在 classpath 下建一個(gè) config 文件夾,然后把配置文件放進(jìn)去。 - 項(xiàng)目?jī)?nèi)部的
classpath同級(jí)放properties文件是最低優(yōu)先級(jí),是在classpath下直接放配置文件。
SpringBoot 默認(rèn)是優(yōu)先讀取java -jar 命令同級(jí)目錄下的一個(gè) config/application.properties 文件的。
在項(xiàng)目?jī)?nèi) src/main/resources 文件夾下創(chuàng)建的 application.properties 文件的優(yōu)先級(jí)是最低的。
整理完畢,完結(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java14發(fā)布了,再也不怕NullPointerException了
這篇文章主要介紹了Java14發(fā)布了,再也不怕NullPointerException了,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
SpringCloud集成Hystrix熔斷過(guò)程分步分解
通過(guò)hystrix可以解決雪崩效應(yīng)問(wèn)題,它提供了資源隔離、降級(jí)機(jī)制、融斷、緩存等功能。接下來(lái)通過(guò)本文給大家分享SpringCloud集成Hystrix熔斷,感興趣的朋友一起看看吧2022-09-09
java-jsp springmvc-controller 傳值到頁(yè)面的方法
下面小編就為大家分享一篇java-jsp springmvc-controller 傳值到頁(yè)面的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Swagger-boostrap-ui如何配置用戶名密碼訪問(wèn)
這篇文章主要介紹了Swagger-boostrap-ui如何配置用戶名密碼訪問(wèn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Java動(dòng)態(tài)字節(jié)碼注入技術(shù)的實(shí)現(xiàn)
Java動(dòng)態(tài)字節(jié)碼注入技術(shù)是一種在運(yùn)行時(shí)修改Java字節(jié)碼的技術(shù),本文主要介紹了Java動(dòng)態(tài)字節(jié)碼注入技術(shù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08

