Maven 如何在发行版中配置唯一版本
我想创建唯一的发布版本(与快照版本相同) 我尝试在distributionManagement中使用uniqueVersion标记,但没有任何帮助。 我正在使用jfrog人工制品 我的pom:Maven 如何在发行版中配置唯一版本,maven,version-control,continuous-deployment,parent-pom,jfrog-xray,Maven,Version Control,Continuous Deployment,Parent Pom,Jfrog Xray,我想创建唯一的发布版本(与快照版本相同) 我尝试在distributionManagement中使用uniqueVersion标记,但没有任何帮助。 我正在使用jfrog人工制品 我的pom: <groupId>com.test</groupId> <artifactId>parent</artifactId> <packaging>pom</packaging> <version>1.0-release<
<groupId>com.test</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.0-release</version>
<distributionManagement>
<snapshotRepository>
<id>snapshot</id>
<name>snapshot</name>
<url>http:/...../list/local-snapshot/</url>
</snapshotRepository>
<repository>
<id>release</id>
<name>release</name>
<url>http:/...../list/local-release/</url>
<uniqueVersion>true</uniqueVersion>
</repository>
</distributionManagement>
com.test
父母亲
聚甲醛
1.0版本
快照
快照
http://…/list/localsnapshot/
释放
释放
http://…/list/local-release/
真的
您可以创建一个单一版本(发布版本)让我们说1.0.0
这将被放入中央存储库(您可能不这样做,但让我们假设这样做)
所以现在有人开始使用你的版本1.0.0
。一段时间后,您决定以某种方式更改此版本1.0.0
(让我们假设这是可能的)。结果是,此版本1.0.0
的用户可能会面临代码更改/生成失败等问题,因为您已更改了版本1.0.0
。故事的结尾是基于1.0.0版本的构建不再可靠
这就是为什么发布是不可变的
这就是在pom文件中使用确切版本号的原因,pom文件精确地处理特定版本中的单个工件,该工件永远不会随时间而改变
但如何解决变化的问题。只需创建一个新版本,比如说1.0.1
,它修复了一个或多个bug。或1.1.0
,添加新功能等
三位数的模式称为您所说的“唯一版本”是什么意思?发布版本总是唯一的,因为您只能构建一次像1.2.3
这样的版本。不,我的意思是,像快照版本一样,jfrog(或maven build)向工件添加时间戳和构建编号发布版本不会以这种方式工作。如果您的版本中需要时间戳(真的吗?),您需要在Jenkins(或您使用的任何构建服务器)中创建它。但是,工件将包含时间戳,而在快照版本中,他不包含时间戳。也就是说,当我想要使用工件时,我必须使用parent-1.0.0-10102020,您实际想要对时间戳版本做什么?请记住,发布版本(如1.0.0
)只能构建一次。