亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

maven-maven使用-P參數(shù)打包不同環(huán)境問題

 更新時間:2023年11月18日 09:55:40   作者:iiaythi  
這篇文章主要介紹了maven-maven使用-P參數(shù)打包不同環(huán)境問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

maven-maven使用-P參數(shù)打包不同環(huán)境

一般的,開發(fā)環(huán)境有dev, test 和 pro,他們的配置多有不同,那么就可以使用 maven -P這個參數(shù)進行多環(huán)境打包

clean install -Dmaven.test.skip=true -P pro,就可以切換成生產(chǎn)環(huán)境,和 jenkins 配合簡直不要太爽!!

舉個例子

以 boot 項目來說,現(xiàn)有目錄結(jié)構(gòu):

/src
    /main
        /java
        /resources
            /static
            /templates
            application.yml
            application-dev.yml
            application-pro.yml
            application-test.yml

application.yml:

server:
  port: 8080
spring:
  profiles:
     # @spring.profiles.active@ 變量將會隨著參數(shù)的傳入被替換
    active: @spring.profiles.active@

然后三個不同環(huán)境的配置文件分別為:

application-dev.yml:

server:
  port: 8080
spring:
  application:
    name: mpp-dev

application-pro.yml:

server:
  port: 8081
spring:
  application:
    name: mpp-pro

application-test.yml:

server:
  port: 8082
spring:
  application:
    name: mpp-test

配置 maven 的 pom 文件,默認激活 dev 環(huán)境:

<profiles>
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <spring.profiles.active>dev</spring.profiles.active>
        </properties>
    </profile>
    <profile>
        <id>test</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <properties>
            <spring.profiles.active>test</spring.profiles.active>
        </properties>
    </profile>
    <profile>
        <id>pro</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <properties>
            //spring.profiles.active即在application.yml文件中
            //定義的參數(shù)@spring.profiles.active@
            <spring.profiles.active>pro</spring.profiles.active>
        </properties>
    </profile>
</profiles>

根據(jù)環(huán)境過濾只有當前環(huán)境的配置文件:

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <!-- 替換占位符-->
        <filtering>true</filtering>
        <excludes>
            <exclude>application-*.yml</exclude>
        </excludes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <!-- 替換占位符-->
        <filtering>true</filtering>
        <includes>
            <include>application-${spring.profiles.active}.yml</include>
        </includes>
    </resource>
</resources>

需要加入 plugin 為:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
</plugin>

測試

在當前項目 pom 文件所在的目錄下打開命令行,輸入 clean package -Dmaven.test.skip=true -P pro

可以看到:

/target
    /classes
        /com
        application.yml
        application-pro.yml

打開 application.yml 文件:

server:
  port: 8080
spring:
  profiles:
    active: pro

可以發(fā)現(xiàn)之前 @spring.profiles.active@ 變量已經(jīng)被替換成了 pro ,而且配置文件只關(guān)于生產(chǎn)環(huán)境,而且dev 和 test 的配置文件都已經(jīng)被過濾了

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論