SpringBoot啟動指定profile的多種方式
配置文件中設置
通常在公司級別的項目中,我們可能會寫多個application- dev/prod.yml ,然后我們通常會在application.yml配置文件中寫入
spring:
profiles:
active: dev
這里會指定激活的profile是application- dev.yml
注意:application.yml中類似Java中的父類,其他application- dev/prod.yml會繼承這個文件,可以進行重寫,沒有進行重寫的屬性我們也是能直接讀取的,比如application.yml定義了一個my.name屬性,然后我們激活的是application- dev.yml,但是我們并沒有在文件中定義這個屬性,我們在程序中還是能夠讀取的,這里可以和Java的父子類繼承重寫對比
my: name: apple
注意這里可能會涉及到springboot讀取配置文件的優(yōu)先級問題,可參考文章:SpringBoot - 配置文件加載位置與優(yōu)先級
命令行設置
1、Maven啟動指定Profile通過-P,如mvn spring-boot:run -Ptest,但這是Maven的Profile。
2、如果要指定spring-boot的spring.profiles.active,則必須使用mvn spring-boot:run -Drun.profiles=test
3、如果使用命令行直接運行jar文件,則使用java -jar -Dspring.profiles.active=test demo-0.0.1-SNAPSHOT.jar
4、如果使用開發(fā)工具,運行Application.java文件啟動,則增加參數(shù)--spring.profiles.active=test
IDEA中設置
1、program arguments程序參數(shù)
在Run/Debug Configurations中配置-Dspring.profiles.active=dev 優(yōu)先級比配置文件高

2、VM options虛擬機參數(shù)
在Run/Debug Configurations中配置-Dspring.profiles.active=dev 優(yōu)先級比配置文件高

3、Active profiles 參數(shù)
指定dev即可

遇到的問題
在公司項目中,我下載了一個其他環(huán)境的application-ft3.yml,但是沒有放入resources文件夾下面,是通過IDEA中Run/Debug Configurations中配置讀取我自己在外部的路徑,但是由于我這個配置文件中有配置另外一個resources下面的i18n配置文件,程序中也要讀取這個i18n下面的文件,我這個application-ft3.yml的文件路徑和i18n下面的文件的相對路徑就對不上了,導致讀取為空!??!


解決辦法: 將這個application-ft3.yml放入resources目錄下即可解決!所以為了避免出現(xiàn)類似問題,我還是推薦把配置文件放入resource下面?。。?/p>
參考文章:
https://blog.csdn.net/weixin_40317062/article/details/82194191
https://www.huaweicloud.com/articles/81095cfdb86cd1a3a46241bc69ae1d55.html
Java啟動參數(shù)的相關問題可以參考:
http://m.fzitv.net/article/17833.htm
到此這篇關于SpringBoot啟動指定profile的多種方式的文章就介紹到這了,更多相關SpringBoot啟動指定profile內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在springboot3微項目中如何用idea批量創(chuàng)建單元測試邏輯
這篇文章主要介紹了在SpringBoot3項目中使用IntelliJIDEA批量創(chuàng)建單元測試包括準備工作(確保項目配置正確,添加測試依賴),使用IntelliJIDEA創(chuàng)建測試,感興趣的朋友一起看看吧2024-10-10
k8s+springboot+CronJob定時任務部署實現(xiàn)
本文主要介紹了k8s+springboot+CronJob定時任務部署實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
springboot使用com.github.binarywang包實現(xiàn)微信網(wǎng)頁上的支付和退款
最近做項目需要實現(xiàn)在pc端需要實現(xiàn)微信的支付,本文主要介紹了springboot使用com.github.binarywang包實現(xiàn)微信網(wǎng)頁上的支付和退款,具有一定的參考價值,感興趣的可以了解一下2024-05-05
Spring MVC 簡單的hello world的實現(xiàn)
這篇文章主要介紹了Spring MVC 簡單的hello world的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01

