Java SpringBoot啟動(dòng)指定profile的8種方式詳解
配置文件中設(shè)置
通常在公司級(jí)別的項(xiàng)目中,我們可能會(huì)寫多個(gè)application- dev/prod.yml ,然后我們通常會(huì)在application.yml配置文件中寫入
spring:
profiles:
active: dev
這里會(huì)指定激活的profile是application- dev.yml
注意:application.yml中類似Java中的父類,其他application- dev/prod.yml會(huì)繼承這個(gè)文件,可以進(jìn)行重寫,沒有進(jìn)行重寫的屬性我們也是能直接讀取的,比如application.yml定義了一個(gè)my.name屬性,然后我們激活的是application- dev.yml,但是我們并沒有在文件中定義這個(gè)屬性,我們?cè)诔绦蛑羞€是能夠讀取的,這里可以和Java的父子類繼承重寫對(duì)比
my: name: apple
注意這里可能會(huì)涉及到springboot讀取配置文件的優(yōu)先級(jí)問題,可參考文章:SpringBoot - 配置文件加載位置與優(yōu)先級(jí)
命令行設(shè)置
1、Maven啟動(dòng)指定Profile通過-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、如果使用開發(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即可

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


解決辦法: 將這個(gè)application-ft3.yml放入resources目錄下即可解決!所以為了避免出現(xiàn)類似問題,我還是推薦把配置文件放入resource下面!??!
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
java swagger ui 添加header請(qǐng)求頭參數(shù)的方法
今天小編就為大家分享一篇java swagger ui 添加header請(qǐng)求頭參數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
解決BufferedReader.readLine()遇見的坑
這篇文章主要介紹了解決BufferedReader.readLine()遇見的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
從匯編碼分析java對(duì)象的創(chuàng)建過程(推薦)
這篇文章主要介紹了從匯編碼分析java對(duì)象的創(chuàng)建過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Java基礎(chǔ)之位運(yùn)算知識(shí)總結(jié)
最近接觸到了java位運(yùn)算,之前對(duì)位運(yùn)算的了解僅僅停留在表現(xiàn)結(jié)果上,乘2除以2,對(duì)背后的原理并不了解,現(xiàn)在學(xué)習(xí)記錄一下,需要的朋友可以參考下2021-05-05
Java中語(yǔ)音url轉(zhuǎn)換成InputStream的示例代碼
在Java中,可以使用java.net.URL和java.net.URLConnection類來將語(yǔ)音URL轉(zhuǎn)換為InputStream,本文通過示例代碼介紹Java中語(yǔ)音url轉(zhuǎn)換成InputStream的相關(guān)知識(shí),感興趣的朋友一起看看吧2024-01-01

