Java 在maven发布插件生成的标记中指定日期
在我们的项目中,我们以以下格式声明我们的SVN标记: YYYY-MM-DD-v{project.version}[${environment}] eg 2012-01-16-v1.0.1[现场] maven发布插件(版本2.2.2)是否可以实现这一点 值得一提的是,版本和环境部分都是通过发布插件获得的。这纯粹是无法检索的时间戳 这就是我所期望的工作:Java 在maven发布插件生成的标记中指定日期,java,maven-2,maven-release-plugin,Java,Maven 2,Maven Release Plugin,在我们的项目中,我们以以下格式声明我们的SVN标记: YYYY-MM-DD-v{project.version}[${environment}] eg 2012-01-16-v1.0.1[现场] maven发布插件(版本2.2.2)是否可以实现这一点 值得一提的是,版本和环境部分都是通过发布插件获得的。这纯粹是无法检索的时间戳 这就是我所期望的工作: org.apache.maven.plugins maven发布插件 2.2.2 清查 ${timestamp}-v@{project.vers
org.apache.maven.plugins
maven发布插件
2.2.2
清查
${timestamp}-v@{project.version}[${env}]
.
.
.
时间戳属性是使用buildnumber maven插件成功生成的,因为它被添加到清单文件以包含到war文件中
我已经尝试将buildnumber:create目标添加到准备目标中,但在执行发布时它会生成以下输出:prepare
“项目名称”的SCM发布标签是什么?(a.b.c.d)空-v1.0.1[实时]::
问题似乎是在标记名被设置时没有生成timestamp属性,这表明准备目标没有在请求标记名的阶段执行
以下内容可能会起作用(午餐后将进行测试),但我更愿意将其称为release:prepare
mvn buildnumber:创建发布:准备
欢迎任何意见
干杯
编辑 我已经使用buildnumber:createrelease:prepare进行了测试,它确实像预期的那样工作,尽管我确实需要做进一步的修改,老实说这有点痛苦 标记名格式当前包含: YYYY-MM-DD-v{project.version}[${environment}] 这包含空格和方括号,使用此格式执行时,您将收到一个错误,表明URL未正确进行URI编码。要解决此问题,您必须以已经用URI编码的格式指定标记名格式,例如:
org.apache.maven.plugins
maven发布插件
2.2.2
清查
${timestamp}%20-%20v@{project.version}%20%5B${env}%5D
.
.
.
这是令人讨厌的,但它确实有效,它将根据需要创建标记
仍有兴趣查看是否有人对如何通过执行以下命令获取tagNameFormat中的时间戳有任何建议:
mvn发布:准备
而不是
mvn buildnumber:创建发布:准备
从Maven 2.1开始,有一个变量:
Maven.build.timestamp
可用,可以使用以下属性进行配置:
yyyyMMdd HHmm
见:
这可能会使buildnumber插件不再需要,而且应该更易于使用。正常版本在发布时不起作用吗?