項目開發的時候經常會遇到這樣的問題:開發環境,測試環境,生產環境的配置文件(數據庫、reids、mq、mongo等)不同,打包時經常要手動更改配置文件,改來改去的經常會出錯。
現在我們可以用maven插件去實現(pom.xml文件代碼):
<build>
<plugins>
<!-- 資源插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>src/main/resources</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/conf/${configPath}</directory>
<filtering>true</filtering>
<includes>
<include>*.properties</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<configPath>dev</configPath>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<configPath>prod</configPath>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<configPath>test</configPath>
</properties>
</profile>
</profiles>
這樣我們在進行打包的時候可以使用命令:
mvn package -P prod -Dmaven.test.skip=true
或者 mvn package -P test -Dmaven.test.skip=true 這樣就會根據 prod和test 去不同的目錄
src/main/resources/conf/dev 或者是
src/main/resources/conf/prod 下的配置文件。