我想了解在设置<uniqueVersion>true</uniqueVersion>
时,自定义Maven构件部署中使用的时间戳字符串的选项。理想情况下,我们希望包含来自源代码控制的更改列表号码,而不是时间戳,因为它是确定给定构建中有哪些功能和错误修复的更可靠方法。
我想了解在设置<uniqueVersion>true</uniqueVersion>
时,自定义Maven构件部署中使用的时间戳字符串的选项。理想情况下,我们希望包含来自源代码控制的更改列表号码,而不是时间戳,因为它是确定给定构建中有哪些功能和错误修复的更可靠方法。
我想知道在设置为true时,定制Maven构件部署中使用的时间戳字符串的选项有哪些。
您无法自定义它,时间戳字符串是一个明确定义的内部东西,应按原样使用,或者不使用(如果在distributionManagement
元素中将uniqueVersion
设置为false
)。
从Maven书籍中(对于感兴趣的读者,它并没有真正帮助你):
Maven版本可以包含一个字符串文字,表示项目当前正在积极开发。 如果版本包含字符串“SNAPSHOT”,则Maven会在安装或发布此组件时将此令牌扩展为UTC(协调世界时)转换为日期和时间值。 例如,如果您的项目版本为“1.0-SNAPSHOT”,并且您将该项目的构件部署到Maven存储库,则如果您在2008年2月7日晚上11:08 PM UTC发布版本,则Maven会将此版本扩展为“1.0-20080207-230803-1”。 换句话说,当您部署快照时,您并没有发布软件组件的版本,而是在特定时间发布了组件的快照。
<configuration>
,<dependencyManagement>
,以及 -DuniqueVersion
),但它仍然被上传为快照。这是预期的吗?还是由仓库强制执行的? - Ondra Žižka