Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 如何在发行版中配置唯一版本_Maven_Version Control_Continuous Deployment_Parent Pom_Jfrog Xray - Fatal编程技术网

Maven 如何在发行版中配置唯一版本

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<

我想创建唯一的发布版本(与快照版本相同) 我尝试在distributionManagement中使用uniqueVersion标记,但没有任何帮助。 我正在使用jfrog人工制品

我的pom:

<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
)只能构建一次。