我有一个构建两个war文件的项目。两者之间的唯一区别是配置文件和战争名称。我正在尝试将战争部署到我们的Nexus存储库中以进行分发管理。我知道如何使用以下方式在pom中命名战争:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>example</artifactId>
<version>1.1.2</version>
<packaging>war</packaging>
<properties>
<buildVersion>counter</buildVersion>
</properties>
<build>
<finalName>example_${buildVersion}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>nexus.example</id>
<url>https://example.com/nexus/content/repositories/wars</url>
</repository>
</distributionManagement></project>
但是,当我运行mvn deploy
时,部署的战争的名称没有buildVersion,因此两个战争的名称相同。
我已经找到了deploy:deploy-file
指令,但是它需要定义为-D规范的正在部署的战争版本。由于我正在制作CD,因此Bamboo的命令行中没有该版本。
以前有人遇到过这种情况吗?为实现这一目标做了什么?