在我们的web.xml中,有一个仅用于开发的片段,当应用程序部署到生产环境中时,它不能存在。当使用生产配置文件调用Maven时,我想使用Configuration Processor Plugin删除此片段。
转换本身很简单,但将生成的web.xml打包到WAR文件的最佳方法是什么?我正在将转换后的web.xml输出到目录 target / generated-sources 。 当生产配置文件处于活动状态时,我希望Maven使用此web.xml而不是src目录中的web.xml。如果此配置文件未激活,则应使用标准位置。
答案 0 :(得分:3)
我创建了一个属性,比如webXml.path
,并按照以下方式配置Maven:
<properties>
<webXml.path>src/main/webapp/WEB-INF/web.xml</webXml.path>
</properties
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${webXml.path}</webXml>
</configuration>
</plugin>
</plugins>
</build>
...
<profiles>
<profile>
<id>prod</id>
<properties>
<webXml.path>target/generated-sources/web.xml</webXml.path>
</properties>
</profile>
</profiles>