多jdk環(huán)境下指定springboot外部配置文件詳解
問題描述
當(dāng)部署環(huán)境中存在多個(gè)jdk,且默認(rèn)jdk版本低于jdk8。我們?cè)诓渴餾pringboot應(yīng)用的時(shí)候,需要指定jdk為jdk8或其以上版本。隨之而來的會(huì)出現(xiàn)一個(gè)問題:springboot應(yīng)用的外部化配置文件無法加載,它會(huì)一直采用的打入應(yīng)用jar的默認(rèn)的配置文件。
問題解決
針對(duì)該問題,有兩種方式可以解決,如下所示:
- 添加啟動(dòng)參數(shù)
--spring.config.additional-location
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.additional-location=/opt/test-app/config/application-dev.yml,/opt/test-app/config/application.yml > /opt/test-app/logs/app.log 2>&1 &
注意:--spring.config.additional-location
之后需要加全路徑名,若有多個(gè)配置文件,可以用英文逗號(hào)隔開。特別的,如果多個(gè)配置文件在同一個(gè)文件夾中,也可以這樣配置:
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.additional-location=/opt/test-app/config/ > /opt/test-app/logs/app.log 2>&1 &
- 添加啟動(dòng)參數(shù)
--spring.config.location
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.location=/opt/test-app/config/application-dev.yml,/opt/test-app/config/application.yml > /opt/test-app/logs/app.log 2>&1 &
注意:--spring.config.location
之后需要加全路徑名,若有多個(gè)配置文件,可以用英文逗號(hào)隔開。特別的,如果多個(gè)配置文件在同一個(gè)文件夾中,也可以這樣配置:
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.location=/opt/test-app/config/ > /opt/test-app/logs/app.log 2>&1 &
解決辦法比較
那么,以上兩個(gè)啟動(dòng)參數(shù)有什么區(qū)別呢?--spring.config.additional-location
后面的配置文件會(huì)和默認(rèn)配置(springboot應(yīng)用jar包中打入的配置文件)形成互補(bǔ)的關(guān)系,但是它具有更高的優(yōu)先級(jí)。
--spring.config.location
后面的配置文件具有強(qiáng)制性,即一旦添加--spring.config.location
,默認(rèn)配置(springboot應(yīng)用jar包中打入的配置文件)就失效了,完全以--spring.config.location
后面的配置文件為準(zhǔn)。
注意事項(xiàng)
在低版本的springboot中,--spring.config.additional-location
并不會(huì)生效,這時(shí)候只能使用--spring.config.location
了。
比如: 在springboot 2.3.6.RELEASE版本,--spring.config.additional-location
就不會(huì)生效。
以上就是多jdk環(huán)境下指定springboot外部配置文件詳解的詳細(xì)內(nèi)容,更多關(guān)于jdk環(huán)境springboot外部配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mybatis-plus自定義排序的實(shí)現(xiàn)
本文主要介紹了mybatis-plus自定義排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01詳解springBoot啟動(dòng)時(shí)找不到或無法加載主類解決辦法
這篇文章主要介紹了詳解springBoot啟動(dòng)時(shí)找不到或無法加載主類解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)之微服務(wù)治理功能的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)之微服務(wù)治理,這些治理工具主要包括服務(wù)的注冊(cè)與發(fā)現(xiàn)、負(fù)載均衡管理、動(dòng)態(tài)路由、服務(wù)降級(jí)和故障轉(zhuǎn)移、鏈路跟蹤、服務(wù)監(jiān)控等,需要的朋友可以參考下2022-02-02java接口中的代理設(shè)計(jì)模式代碼時(shí)實(shí)踐
這篇文章主要介紹了java接口中的代理設(shè)計(jì)模式代碼時(shí)實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Spring Boot 2.4配置特定環(huán)境時(shí)spring: profiles提示被棄用的原
這篇文章主要介紹了Spring Boot 2.4配置特定環(huán)境時(shí)spring: profiles提示被棄用的原因,本文給大家分享詳細(xì)解決方案,需要的朋友可以參考下2023-04-04