我们在 POM 中指定 versionId,相应地 maven 生成 foo-version.jar。示例:foo-1.0-SNAPSHOT.jar。
是否可以使用 maven 执行以下操作?
- 不在 POM 中指定 versionId,而是从命令行指定构建版本。这将有助于不“硬编码” POM 中的版本并为每个版本更改它,而是通过超级构建脚本指定它。
在 pom 中设置项目版本作为占位符
<groupId>test</groupId>
<artifactId>x</artifactId>
<version>${project.version}</version>
现在您可以从命令行传递版本
mvn -Dproject.version=1.1.1 package
您可以使用Maven 发布插件。
release:update-versions -DautoVersionSubmodules=true
如果您希望每个模块的版本相同,则需要 autoVersionSubmodules。否则,您将需要为每个指定版本。
-DdevelopmentVersion=your version
如果您想将特定版本添加到命令中,这只会增加您当前的版本
更新 我发现了另一个可以解决问题的插件。Maven 版本插件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
使用此命令,您可以设置版本:
versions:set -DnewVersion=your version