如何解决在maven中-如何根据使用的配置文件的名称重命名输出的.war文件
|| 对于我们的应用程序,我的pom.xml中有三个配置文件... 开发人员(供开发人员使用) 质量检查(用于我们的内部质量检查服务器) 生产(生产)。 当我们运行Maven构建时,所有三个配置文件都会输出具有相同名称的war文件。我想输出$profilename-somearbitraryname.war
有任何想法吗?
解决方法
您已正确回答自己:
<profiles>
<profile>
<id>dev</id>
<properties>
<rp.build.warname>dev</rp.build.warname>
</properties>
</profile>
<profile>
<id>qa</id>
<properties>
<rp.build.warname>qa</rp.build.warname>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<rp.build.warname>prod</rp.build.warname>
</properties>
</profile>
</profiles>
但是有一种更简单的方法来重新定义WAR名称:
<build>
<finalName>${rp.build.warname}-somearbitraryname</finalName>
<!-- ... -->
</build>
不需要maven-war-plugin
。
,答案很简单...
像这样在每个配置文件中定义一个属性...
<profile>
<id>qa</id>
<properties>
<rp.build.warname>ourapp-qa</rp.build.warname>
</properties>
</profile>
然后将其添加到您的插件中...
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
<warName>${rp.build.warname}</warName>
</configuration>
</plugin>
,在行家中,您必须在ѭ7中使用<bundleFileName>
您应该点击以下链接以确保重新编写您的模块:
http://maven.apache.org/plugins/maven-ear-plugin/examples/customizing-a-module-filename.html
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10.1</version>
<configuration>
[...]
<modules>
<ejbModule>
<groupId>artifactGroupId</groupId>
<artifactId>artifactId</artifactId>
<bundleFileName>anotherName-1.2.3.jar</bundleFileName>
</ejbModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>