我正在使用Maven 3.3.3。我刚从3.1.1升级,发现我再也无法传入版本了。
的pom.xml
<modelVersion>4.0.0</modelVersion>
<groupId>com.hello.world</groupId>
<artifactId>helloworld</artifactId>
<version>${VERSION_NUMBER}</version>
<packaging>pom</packaging>
<properties>
<VERSION_NUMBER>LOCAL-ONLY-SNAPSHOT</VERSION_NUMBER>
</properties>
mvn package -DVERSION_NUMBER = 1.2.3
升级到Maven 3.3.3后,我现在收到错误消息: [错误]版本必须是常量
我的目标是能够传递版本号,并且永远不会在pom.xml中包含实际数字。我不想使用versions-plugin,因为它实际上更改了pom.xml以使用特定的版本号。源代码管理中没有版本号。
答案 0 :(得分:0)
您必须使用以下属性中的一个或组合:
${revision}, ${changelist}, and ${sha1}.
这就是它不起作用的原因。
答案 1 :(得分:0)
不幸的是,不可能在最新版本的maven中执行您正在尝试的内容 - 版本对于构建过程是如此不可或缺,您必须在POM中明确指定它。
围绕它的唯一方法(我并不是说这是一个好主意)是在你的maven命令之前添加一个预处理步骤,例如:使用match_personnes.take(10)
修改POM并设置您想要的任何版本号。
出于好奇,你为什么要这样做?