maven build - 版本信息

时间:2013-08-28 07:15:58

标签: java maven

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

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

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

2 个答案:

答案 0 :(得分:5)

将pom中的项目版本设置为占位符

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

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

mvn -Dproject.version=1.1.1 package

答案 1 :(得分:4)

您可以使用maven release plugin

release:update-versions -DautoVersionSubmodules=true

如果您希望每个模块使用相同的版本,则需要autoVersionSubmodules。否则,您需要为每个版本指定版本。

如果您希望特定版本为命令添加-DdevelopmentVersion=your version,这只会增加您当前的版本

<强>更新 我发现另一个插件可以解决问题。 The maven versions plugin

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>versions-maven-plugin</artifactId>
  <version>2.1</version>
</plugin>

使用此命令可以设置版本: versions:set -DnewVersion=your version