1. 程式人生 > >Spring boot 專案使用mvn設定配置檔案動態引數

Spring boot 專案使用mvn設定配置檔案動態引數

在pom.xml中配置profiles,對不同環境配置不同變數的值

    <profiles>
        <profile>
            <id>develop</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <testKey
>
dev</testKey> </properties> </profile> <profile> <id>test</id> <properties> <testKey>test</testKey> </properties> </profile> <profile> <properties
>
<testKey>online</testKey> </properties> </profile> </profiles>
  • activeByDefault 設定為true為預設環境
  • properties下編寫引數變數,是變數名,隨意命名

在pom檔案的build的plugins下新增如下plugin

<build>
        <plugins>
            <plugin>
                <groupId
>
org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>default-resources</id> <phase>validate</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>target/classes</outputDirectory> <useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <delimiter>${*}</delimiter> </delimiters> <resources> <resource> <directory>src/main/resources/</directory> <filtering>true</filtering> <includes> <include>**/*.yml</include> <include>**/*.properties</include> <include>**/*.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build>
  • delimiter 為匹配字元(${testKey})
  • include為要mvn編譯並替換變數的檔案

配置檔案中的使用

env=${testKey}

這裡寫圖片描述

驗證

使用mvn打包,檢視target資料夾中的配置檔案是否替換:

打包:mvn clean package -Dmaven.test.skip=true

這裡寫圖片描述