Java SpringBoot啟動(dòng)指定profile的8種方式詳解
配置文件中設(shè)置
通常在公司級(jí)別的項(xiàng)目中,我們可能會(huì)寫(xiě)多個(gè)application- dev/prod.yml ,然后我們通常會(huì)在application.yml配置文件中寫(xiě)入
spring: profiles: active: dev
這里會(huì)指定激活的profile是application- dev.yml
注意:application.yml中類似Java中的父類,其他application- dev/prod.yml會(huì)繼承這個(gè)文件,可以進(jìn)行重寫(xiě),沒(méi)有進(jìn)行重寫(xiě)的屬性我們也是能直接讀取的,比如application.yml定義了一個(gè)my.name屬性,然后我們激活的是application- dev.yml,但是我們并沒(méi)有在文件中定義這個(gè)屬性,我們?cè)诔绦蛑羞€是能夠讀取的,這里可以和Java的父子類繼承重寫(xiě)對(duì)比
my: name: apple
注意這里可能會(huì)涉及到springboot讀取配置文件的優(yōu)先級(jí)問(wèn)題,可參考文章:SpringBoot - 配置文件加載位置與優(yōu)先級(jí)
命令行設(shè)置
1、Maven啟動(dòng)指定Profile通過(guò)-P,如mvn spring-boot:run -Ptest
,但這是Maven的Profile。
2、如果要指定spring-boot的spring.profiles.active
,則必須使用mvn spring-boot:run -Drun.profiles=test
3、如果使用命令行直接運(yùn)行jar文件,則使用java -jar -Dspring.profiles.active=test demo-0.0.1-SNAPSHOT.jar
4、如果使用開(kāi)發(fā)工具,運(yùn)行Application.java文件啟動(dòng),則增加參數(shù)--spring.profiles.active=test
IDEA中設(shè)置
1、program arguments程序參數(shù)
在Run/Debug Configurations中配置-Dspring.profiles.active=dev 優(yōu)先級(jí)比配置文件高
2、VM options虛擬機(jī)參數(shù)
在Run/Debug Configurations中配置-Dspring.profiles.active=dev 優(yōu)先級(jí)比配置文件高
3、Active profiles 參數(shù)
指定dev即可
遇到的問(wèn)題
在公司項(xiàng)目中,我下載了一個(gè)其他環(huán)境的application-ft3.yml,但是沒(méi)有放入resources文件夾下面,是通過(guò)IDEA中Run/Debug Configurations中配置讀取我自己在外部的路徑,但是由于我這個(gè)配置文件中有配置另外一個(gè)resources下面的i18n配置文件,程序中也要讀取這個(gè)i18n下面的文件,我這個(gè)application-ft3.yml的文件路徑和i18n下面的文件的相對(duì)路徑就對(duì)不上了,導(dǎo)致讀取為空?。?!
解決辦法: 將這個(gè)application-ft3.yml放入resources目錄下即可解決!所以為了避免出現(xiàn)類似問(wèn)題,我還是推薦把配置文件放入resource下面?。?!
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java面試題沖刺第十九天--數(shù)據(jù)庫(kù)(4)
這篇文章主要為大家分享了最有價(jià)值的三道關(guān)于數(shù)據(jù)庫(kù)的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下2021-08-08Java中對(duì)AtomicInteger和int值在多線程下遞增操作的測(cè)試
這篇文章主要介紹了Java中對(duì)AtomicInteger和int值在多線程下遞增操作的測(cè)試,本文得出AtomicInteger操作 與 int操作的效率大致相差在50-80倍上下的結(jié)論,需要的朋友可以參考下2014-09-09Spring MVC-@RequestMapping注解詳解
@RequestMapping注解的作用,就是將請(qǐng)求和處理請(qǐng)求的控制器方法關(guān)聯(lián)起來(lái),建立映射關(guān)系。這篇文章主要給大家介紹了關(guān)于SpringMVC中@RequestMapping注解用法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04Java獲得當(dāng)前時(shí)間前指定幾個(gè)小時(shí)具體時(shí)間的方法示例
這篇文章主要介紹了Java獲得當(dāng)前時(shí)間前指定幾個(gè)小時(shí)具體時(shí)間的方法,涉及java使用Calendar針對(duì)日期時(shí)間的相關(guān)運(yùn)算與轉(zhuǎn)換操作技巧,需要的朋友可以參考下2017-08-08Mybatis foreach標(biāo)簽使用不當(dāng)導(dǎo)致異常的原因淺析
這篇文章主要介紹了Mybatis foreach標(biāo)簽使用不當(dāng)導(dǎo)致異常的原因探究,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12Java讀取txt文件中的數(shù)據(jù)賦給String變量方法
今天小編就為大家分享一篇Java讀取txt文件中的數(shù)據(jù)賦給String變量方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07HashMap原理及手寫(xiě)實(shí)現(xiàn)部分區(qū)塊鏈特征
這篇文章主要為大家介紹了HashMap原理及手寫(xiě)實(shí)現(xiàn)部分區(qū)塊鏈特征,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09解決springmvc+mybatis+mysql中文亂碼問(wèn)題
這篇文章主要介紹了解決java中springmvc+mybatis+mysql中文亂碼問(wèn)題的相關(guān)資料,需要的朋友可以參考下2015-09-09JDK20?+?SpringBoot?3.1.0?+?JdbcTemplate?使用案例詳解
通過(guò) JdbcTemplate 直接執(zhí)行 SQL 語(yǔ)句,結(jié)合源碼動(dòng)態(tài)編譯即可方便實(shí)現(xiàn)動(dòng)態(tài)修改代碼邏輯的效果,這篇文章主要介紹了JDK20?+?SpringBoot?3.1.0?+?JdbcTemplate?使用,需要的朋友可以參考下2023-09-09