我有一个构建两个 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 中的命令行上没有该版本。
以前有人遇到过这种情况吗?采取了什么措施来实现它?
请问如何仅使用 pom.xml 进行部署?
致以诚挚的问候