maven多環境配置打包(自定義properties)
阿新 • • 發佈:2019-02-06
專案開發經常碰到配置檔案中測試的jdbc.url和線上的是不一樣的。為此每次打包都要修改配置檔案,很煩,而且也容易出錯。
最近才發現,原來用maven的profile可以實現多種環境的配置。
1、在src/main/resources/filters,建兩個檔案:test.properties和prod.properties。
分別放置測試環境和生產環境的配置。(假設兩個檔案中都設定了jdbc.url屬性)
2、新建src/main/resources/conf.properties檔案。裡面設定
Properties程式碼
3、配置pom.xml。配置如下
Pom.xml程式碼
最近才發現,原來用maven的profile可以實現多種環境的配置。
1、在src/main/resources/filters,建兩個檔案:test.properties和prod.properties。
分別放置測試環境和生產環境的配置。(假設兩個檔案中都設定了jdbc.url屬性)
2、新建src/main/resources/conf.properties檔案。裡面設定
Properties程式碼
- jdbc.url=${jdbc.url}
3、配置pom.xml。配置如下
Pom.xml程式碼
- <profiles>
- <profile>
- <id>test</id>
- <properties>
- <env>test</env>
- </properties>
- <activation>
-
<activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>prod</id>
- <properties>
- <env>prod</env>
- </properties>
- </profile>
- </profiles>
-
<build>
- <filters>
- <filter>src/main/resources/filters/${env}.properties</filter>
- </filters>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
-
<includes>
<include>**/*</include>
</includes> - </resource>
- </resources>
-
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin> - </plugins>
- </build>
4、打包。使用mvn packge -Ptest 即可實現測試環境打包。如果要prod環境配置,只需-Pprod即可。當然pom配置中預設不傳-P引數的話是使用test環境配置。