maven之多環(huán)境打包的實(shí)現(xiàn)

? ? ? ? 實(shí)現(xiàn)不同環(huán)境的打包,就是在pom.xml中定義不同的環(huán)境配置,然后將需要的配置打包入最終的壓縮包中。

????????首先定義幾個(gè)不同的配置文件,然后在pom.xml中定義幾個(gè)不同的<profile>標(biāo)簽。每個(gè)profile可以看作是POM的一部分配置,我們可以根據(jù)不同的環(huán)境應(yīng)用不同的profile,從而達(dá)到不同環(huán)境使用不同的POM配置的目的。

????????假如配置了3種項(xiàng)目運(yùn)行環(huán)境,在src/main/resources目錄下增加如下環(huán)境配置

├── conf

│? ├── dev

│? │? ├── application.properties

│? │? ├── conf.properties

? ? │? ├── db.properties

│? ├── online

│? │? ├── application.properties

│? │? ├── conf.properties

│? │? ├── db.properties

│? └── test

│? │? ├── application.properties

│? │? ├── conf.properties

│? │? ├── db.properties

在(子)項(xiàng)目pom.xml中<project>標(biāo)簽下加入如下的<profiles>標(biāo)簽,

? ? <!-- 多環(huán)境打包 start -->

? ? <profiles>

? ? ? ? <!-- 開發(fā)環(huán)境配置 -->

? ? ? ? <profile>

? ? ? ? ? ? <id>dev</id>

? ? ? ? ? ? <properties>

? ? ? ? ? ? ? ? <profiles.active>dev</profiles.active>

? ? ? ? ? ? </properties>

? ? ? ? ? ? <activation>

? ? ? ? ? ? ? ? <activeByDefault>true</activeByDefault>

? ? ? ? ? ? </activation>

? ? ? ? </profile>

? ? ? ? <!-- 測(cè)試環(huán)境配置 -->

? ? ? ? <profile>

? ? ? ? ? ? <id>test</id>

? ? ? ? ? ? <properties>

? ? ? ? ? ? ? ? <profiles.active>test</profiles.active>

? ? ? ? ? ? </properties>

? ? ? ? </profile>

? ? ? ? <!-- 正式環(huán)境 -->

? ? ? ? <profile>

? ? ? ? ? ? <id>online</id>

? ? ? ? ? ? <properties>

? ? ? ? ? ? ? ? <profiles.active>online</profiles.active>

? ? ? ? ? ? </properties>

? ? ? ? </profile>

? ? </profiles>

? ? <!-- 多環(huán)境打包 end -->

????????在profile標(biāo)簽中定義一個(gè) id 標(biāo)簽,這樣就可以將不同環(huán)境的配置區(qū)分開。而變量profiles.active的值對(duì)應(yīng)了具體的環(huán)境配置名稱。為了引用這些環(huán)境配置,需要在pom.xml文件中使用該變量的值,在build->resources標(biāo)簽下增加如下內(nèi)容,

? ? ? ? <resource>

? ? ? ? ? ? ? ? <directory>src/main/resources/conf/${profiles.active}</directory>

? ? ? ? ? ? </resource>

????????在 pom 中配置好后就可以在 mvn 命令中用-P參數(shù)激活指定 id 對(duì)應(yīng)的 profile 進(jìn)行動(dòng)態(tài)構(gòu)建了。比如打測(cè)試環(huán)境包,執(zhí)行:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?mvn clean install -Ptest

????????這樣將src/main/resources/conf/test下的配置打包入項(xiàng)目。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容