我有第三方Java项目,它使用Maven来构建。
项目已在pom.xml文件中将1.0-SNAPSHOT指定为版本。
...
<version>1.0-SNAPSHOT</version>
...我想在私有构建服务器上构建项目,并将生成的jar安装到私有maven存储库中。
目前,当通过mvn install或mvn deploy安装或部署项目时,生成的工件都带有时间戳后缀,比如这个artifact-name-1.0-20200320.102713-1.jar。这样的版本是相当缺乏信息的。
我希望版本后缀包含git describe而不是时间戳。
有没有办法自定义后缀来包含更多的信息,比如git commit id?
发布于 2020-03-20 20:39:09
情况可能和你想的有点不同。
Maven只有一个内置机制,它不会“逐字逐句”地处理版本号,这个机制就是SNAPSHOT。SNAPSHOT版本以带时间戳的编号版本存储在Nexus/Artifactory中,因此当您请求SNAPSHOT时,Nexus/Artifactory可以始终为您提供最新版本。没有办法改变这种机制。
另一方面,您可以构建依赖于属性的非快照版本。
例如,您可以通过命令行定义一个版本1.0.0-${revision}并设置属性revision。
https://stackoverflow.com/questions/60773090
复制相似问题