如何在Maven/Tycho中获取当前构建版本

如何在Maven/Tycho中获取当前构建版本,maven,tycho,Maven,Tycho,我已经读到应该使用${project.version}属性来获取项目的完整版本 但是,如果在生成中使用此属性将当前生成的版本传递给外部生成进程,则其值始终为1.0.0-SNAPSHOT,其中需要类似1.0.0-20160220-1234。调用外部构建步骤的阶段为“包” tycho打包插件配置为生成如下时间戳: yyyyMMdd HHmm 结果的工件在版本/名称中有时间戳 我将Maven 3.3.3与0.24结合使用,但是,对于Tycho的早期版本,行为是相同的。不确定第谷在这方面的行为是否与

我已经读到应该使用
${project.version}
属性来获取项目的完整版本

但是,如果在生成中使用此属性将当前生成的版本传递给外部生成进程,则其值始终为
1.0.0-SNAPSHOT
,其中需要类似
1.0.0-20160220-1234
。调用外部构建步骤的阶段为“包”

tycho打包插件
配置为生成如下时间戳:


yyyyMMdd HHmm
结果的工件在版本/名称中有时间戳

我将Maven 3.3.3与0.24结合使用,但是,对于Tycho的早期版本,行为是相同的。不确定第谷在这方面的行为是否与普通的马文不同

构建是使用

mvn clean verify
在主pom的目录中

我使用它的实际项目是。调用外部构建步骤

我还使用了上述子pom中的echo插件来诊断如下问题:


com.soebes.maven.plugins
maven echo插件
0.1
包裹
回声
实际版本:${project.version}
输出与外部生成接收的相同:
1.0.0-SNAPSHOT


我需要做什么或者需要使用哪个属性来获取当前版本的合格版本?

据我所知,
${project.version}
属性应该包含合格版本,例如
1.0.0-20160218-1234
。但是,要么Maven/Tycho中存在缺陷,要么我的理解是完全错误的。如果有人能澄清这一点,我会很高兴

但是,我找到了由mojo设置的
${qualifiedVersion}
属性。此属性保存预期值

请注意,即使文档中

已分配给项目属性
qualifiedVersion


无法通过
${project.qualifiedVersion}
访问该属性。它需要被引用为
${qualifiedVersion}

你能告诉我你是怎么做的吗?通过命令行?你使用哪个Maven版本?你用的是哪种第谷版本?你能展示一个不起作用的示例项目吗?谢谢你的反馈,请查看更新的问题。问:据我所知,${project.version}属性应该包含合格的版本,例如1.0.0-20160218-1234。。。我不这么认为。${project.version}是pom模型中解析的版本,因此它是包含-SNAPSHOT的版本。稍后将解析为更具体的内容,如您所注意到的,然后将其注入${qualifiedVersion}属性中。但是与模型的初始值相比,${project.version}没有(并且不应该按照Maven规则)修改。