Spring boot 專案使用mvn設定配置檔案動態引數
阿新 • • 發佈:2019-01-25
在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