很多情况是测试环境跟正式配置有所差异,若每次手动替换覆盖,则特别痛苦。maven profile 则可解决这困扰。
定义不同的id 正式可执行替换
可将测试配置统一导入applicationContext-import-test.xml 文件
正式配置统一导入applicationContext-import-replace.xml 文件
开发测试applicationContext-mass-client.xml
<import resource="applicationContext-import-test.xml" />
正式
<import resource="applicationContext-import-replace.xml" />
<profiles>
<profile>
<id>pro</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<!--$NO-MVN-MAN-VER$ -->
<executions>
<execution>
<id>antrun2</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<replace dir="target" encoding="utf-8">
<include name="**/web.xml" />
<replacetoken>default</replacetoken>
<replacevalue>resin-file</replacevalue>
</replace>
<replace dir="target" encoding="utf-8">
<include name="**/applicationContext-mass-client.xml" />
<replacetoken>applicationContext-import-test.xml</replacetoken>
<replacevalue>applicationContext-import-replace.xml</replacevalue>
</replace>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
运行命令 clean install -U -Ppro -Dmaven.test.skip=true
则可替换正式配置