【发布时间】:2016-02-20 19:23:53
【问题描述】:
我读到应该使用${project.version} 属性来获取项目的完整版。
但是,如果我在构建中使用此属性将当前构建的版本传递给外部构建过程,它的值总是1.0.0-SNAPSHOT,我需要类似1.0.0-20160220-1234 的东西。调用外部构建步骤的阶段是“包”。
tycho-packaging-plugin 被配置为生成如下时间戳:
<configuration>
<format>yyyyMMdd-HHmm</format>
</configuration>
生成的工件在版本/名称中确实有时间戳
我将 Maven 3.3.3 与 Eclipse Tycho 0.24 一起使用,但是,对于 Tycho 的早期版本,行为是相同的。不确定 Tycho 在这方面的行为是否与普通 Maven 不同。
构建运行于
mvn clean verify
在主 pom 的目录中。
我使用它的实际项目是Extras for Eclipse。调用外部构建步骤in line 129 of the 'repository' child pom。
我在上面提到的child pom中也使用了echo插件来诊断问题是这样的:
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>maven-echo-plugin</artifactId>
<version>0.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>echo</goal>
</goals>
</execution>
</executions>
<configuration>
<echos>
<echo>actual version: ${project.version}</echo>
</echos>
</configuration>
</plugin>
输出与外部构建收到的相同:1.0.0-SNAPSHOT。
我需要做什么或使用哪个属性来获取当前构建的合格版本?
【问题讨论】:
-
你能说明你是怎么做的吗?通过命令行?您使用哪个 Maven 版本?您使用哪个第谷版本?你能展示一个不起作用的示例项目吗?
-
感谢您的反馈,请查看更新后的问题。