Maven 多环境打包
创建环境配置目录
按需求在项目资源目录下创建对应环境的配置文件目录。
因为这个项目有这里我配置了4个环境(两个生产、两个测试)。
添加配置文件
除了这三个配置外其他配置都是多环境统一的,不用管它们,然后针对不同的环境对配置文件进行修改。
添加maven配置
在pom.xml中添加 profiles节点,id自己取值,能唯一识别就行,尽量简洁,后面打包时需要指定这个id。package.environment节点值需要个项目资源目录下环境配置目录一致。
<profiles>
<profile>
<id>test_ws</id>
<properties>
<package.environment>test_ws</package.environment>
</properties>
</profile>
<profile>
<id>prod_ws</id>
<properties>
<package.environment>prod_ws</package.environment>
</properties>
</profile>
<profile>
<id>test_yw</id>
<properties>
<package.environment>test_yw</package.environment>
</properties>
</profile>
<profile>
<id>prod_yw</id>
<properties>
<package.environment>prod_yw</package.environment>
</properties>
</profile>
</profiles>
<build>
<finalName>fpiimain_ws</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>prod_ws/*</exclude>
<exclude>test_ws/*</exclude>
<exclude>prod_yw/*</exclude>
<exclude>test_yw/*</exclude>
</excludes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<fork>true</fork>
<executable>
C:\Program Files\Java\jdk1.8.0_102\bin\javac.exe
</executable>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>3.8.1</version>
</plugin>
<!-- 不同环境的配置文件选择 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>compile</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- 覆盖原有文件 -->
<overwrite>true</overwrite>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<!-- 也可以用下面这样的方式(指定相对url的方式指定outputDirectory) <outputDirectory>target/classes</outputDirectory> -->
<!-- 待处理的资源定义 -->
<resources>
<resource>
<!-- 指定resources插件处理哪个目录下的资源文件 -->
<directory>src/main/resources/${package.environment}</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
打包
Eclipse 项目名右键-》run as -》maven build…
验证
如何查看打出的包中的配置是否是目的环境的配置呢?