使用maven profile指定配置文件打包適用多環(huán)境的方法
開發(fā)過程, 我們習(xí)慣把數(shù)據(jù)源配置, 項(xiàng)目常量, 日志配置等基礎(chǔ)數(shù)據(jù)配置寫到一個(gè)個(gè)單獨(dú)的的文件中. 如jdbc.properties等各種.格式的文件.
如何不頻繁修改配置文件, 隨時(shí)打包不同基礎(chǔ)數(shù)據(jù)配置信息的項(xiàng)目.
1.新建maven項(xiàng)目, 在pom.xml中添加 profile節(jié)點(diǎn)信息如下:
<profiles> <profile> <!-- 開發(fā)環(huán)境 --> <id>dev</id> <properties> <environment>development</environment><!-- 節(jié)點(diǎn)名字environment是自己隨意取的 --> </properties> <activation> <activeByDefault>true</activeByDefault><!-- 默認(rèn)激活該profile節(jié)點(diǎn)--> </activation> </profile> <profile> <!-- 測試環(huán)境 --> <id>test</id> <properties> <environment>test</environment> </properties> </profile> <profile> <!-- 預(yù)演環(huán)境 --> <id>prev</id> <properties> <environment>preview</environment> </properties> </profile> <profile> <!-- 生產(chǎn)環(huán)境 --> <id>prod</id> <properties> <environment>production</environment> </properties> </profile> </profiles>
2. 在項(xiàng)目中添加各環(huán)境需要的數(shù)據(jù)源配置文件,分不同目錄存放, 分別是開發(fā),測試, 預(yù)演,生產(chǎn) 環(huán)境. 如下圖左邊部分所示.
3. pom.xml中配置resource節(jié)點(diǎn)信息.
<build> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>environment/development/*</exclude> <exclude>environment/test/*</exclude> <exclude>environment/preview/*</exclude> <exclude>environment/production/**</exclude> </excludes> </resource> <resource> <directory>src/main/resources/environment/${environment}</directory> <targetPath>environment/${environment}</targetPath> </resource> </resources> </build>
resource節(jié)點(diǎn)信息解釋:
<directory>src/main/resources</directory> <!--打包時(shí)包含src/main/resources目錄下所有"子"文件 和 "孫"文件.如config 和environment --> <exclude>environment/development/**</exclude> <!--打包時(shí)排除src/main/resources/environment/development下所有"子"文件 和 "孫"文件.--> <exclude>environment/test/**</exclude> <!--打包時(shí)排除src/main/resources/environment/test下所有"子"文件 和 "孫"文件.--> <exclude>environment/preview/**</exclude> <!--打包時(shí)排除src/main/resources/environment/preview下所有"子"文件 和 "孫"文件.--> <exclude>environment/production/**</exclude><!--打包時(shí)排除src/main/resources/environment/production下所有"子"文件 和 "孫"文件.--> <!-- 注意點(diǎn): 如果寫一個(gè)心號(hào)*, 如<exclude>environment/development/*</exclude> 則表示:打包時(shí)排除src/main/resources/environment/development下所有"子"文件, 不排除"孫"文件, 如上一個(gè)截圖所示.--> <!-- 以上配置優(yōu)先度從上到下 遞增, 這就達(dá)到目的: config目錄下的配置各環(huán)境都需要, 而其它環(huán)境相關(guān)的配置只會(huì)有一個(gè)目錄被打包--->
<directory>src/main/resources/environment/${environment}</directory> <!-- 打包時(shí)包含src/main/resources/environment/${environment}下所有"子"文件,environment變量值來自profile中賦值 --> <targetPath>environment/${environment}</targetPath><!--指定src/main/resources/environment/${environment}所有"子文件" 打包 到包的哪個(gè)目錄 -->
4. 項(xiàng)目打包. 打包命令mvn package -Pdev來指定激活id為 dev 的profile節(jié)點(diǎn), 這樣, 開發(fā)環(huán)境配置文件就會(huì)被打包.
開發(fā): mvn package -Pdev (因?yàn)榕渲昧四J(rèn)激活dev部分, 所以也可以使用mvn package, 這與 mvn package -Pdev 效果相同)
測試: mvn package -Ptest
預(yù)演:mvn package -Pprev
生產(chǎn):mvn package -Pprod
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 在idea中利用maven實(shí)現(xiàn)多環(huán)境配置自動(dòng)打包的流程步驟
- maven如何使用profiles多環(huán)境配置
- SpringBoot使用Maven實(shí)現(xiàn)多環(huán)境配置管理
- springboot+maven多環(huán)境動(dòng)態(tài)配置及編譯失敗的解決方案(步驟詳解)
- Maven分步詳解多環(huán)境配置與應(yīng)用流程
- Springboot與Maven多環(huán)境配置的解決方案
- maven profile實(shí)現(xiàn)多環(huán)境配置的示例
- maven打包時(shí)配置多環(huán)境參數(shù)的實(shí)現(xiàn)
相關(guān)文章
JavaWeb分頁的實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了JavaWeb分頁的實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12java8 利用reduce實(shí)現(xiàn)將列表中的多個(gè)元素的屬性求和并返回操作
這篇文章主要介紹了java8 利用reduce實(shí)現(xiàn)將列表中的多個(gè)元素的屬性求和并返回操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08阿里通用OCR文字識(shí)別/圖像識(shí)別/圖片識(shí)別對(duì)接代碼示例(Java篇)
這篇文章主要介紹了阿里通用OCR文字識(shí)別/圖像識(shí)別/圖片識(shí)別對(duì)接(Java篇)的相關(guān)資料,文中詳細(xì)介紹了包括開通服務(wù)、測試圖片、編寫識(shí)別代碼、處理識(shí)別結(jié)果等步驟,需要的朋友可以參考下2024-12-12Java實(shí)現(xiàn)Flappy Bird游戲源碼
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)Flappy Bird游戲源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12PowerJobAutoConfiguration自動(dòng)配置源碼流程解析
這篇文章主要為大家介紹了PowerJobAutoConfiguration自動(dòng)配置源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12SpringBoot + FFmpeg實(shí)現(xiàn)一個(gè)簡單的M3U8切片轉(zhuǎn)碼系統(tǒng)
使用大名鼎鼎的ffmpeg,把視頻文件切片成m3u8,并且通過springboot,可以實(shí)現(xiàn)在線的點(diǎn)播。2021-05-05