5

我们在 POM 中指定 versionId,相应地 maven 生成 foo-version.jar。示例:foo-1.0-SNAPSHOT.jar。

是否可以使用 maven 执行以下操作?

  • 不在 POM 中指定 versionId,而是从命令行指定构建版本。这将有助于不“硬编码” POM 中的版本并为每个版本更改它,而是通过超级构建脚本指定它。
4

2 回答 2

5

在 pom 中设置项目版本作为占位符

<groupId>test</groupId>
<artifactId>x</artifactId>
<version>${project.version}</version>

现在您可以从命令行传递版本

mvn -Dproject.version=1.1.1 package
于 2013-08-28T07:32:59.980 回答
4

您可以使用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

于 2013-08-28T07:57:34.780 回答