我们的策略是仅构建一个可部署的jar文件,所有特定于环境的配置都被分开保存,并在一次构建中将它们全部构建在一起。因此,在我们当前的Ant过程中,我们为每个环境都有一个属性文件,遍历它们,并为每个环境创建一组配置文件。
在我的当前POM XML中,我能够构建只提供命令行的一个配置文件。通过Maven,是否有可能实现这一点呢?
以下是POM.xml的相关部分:
<!-- Define profiles here and make DEV as default profile -->
<profiles>
<!-- dev Profile -->
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- qa Profile -->
<profile>
<id>qa</id>
<properties>
<env>qa</env>
</properties>
</profile>
<!-- prod Profile -->
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
...
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<filters>
<filter>env/${env}.properties</filter>
</filters>
<outputDirectory>${project.build.directory}/config/${env}
</outputDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/config/default
</directory>
<includes>
<include>*.xml</include>
<include>*.properties</include>
</includes>
</resource>
谢谢,Prabhjot