Gradle/Maven在没有可用版本时下载快照

Gradle/Maven在没有可用版本时下载快照,maven,gradle,release,artifactory,snapshot,Maven,Gradle,Release,Artifactory,Snapshot,使用我们系统的CI/CD,只有在测试组件时才会发布库。在此之前,库将作为后缀为'-SNAPSHOT'的快照进行维护 当某个特定版本的版本不可用时,我如何制作我的gradle和maven项目,这取决于这些库下载特定版本的快照?maven不支持类似的任何东西。如果您指定了1.2.3的版本,那么它希望您的工件存储库中有1.2.3的发布版本 1.2.3-SNAPSHOT与1.2.3不同,它意味着一个可以更改的版本(因此maven检查更新)-对于版本,maven不需要检查更新,因为根据定义,版本应该是不可

使用我们系统的CI/CD,只有在测试组件时才会发布库。在此之前,库将作为后缀为
'-SNAPSHOT'
的快照进行维护


当某个特定版本的版本不可用时,我如何制作我的
gradle
maven
项目,这取决于这些库下载特定版本的快照?

maven不支持类似的任何东西。如果您指定了1.2.3的版本,那么它希望您的工件存储库中有1.2.3的发布版本

1.2.3-SNAPSHOT与1.2.3不同,它意味着一个可以更改的版本(因此maven检查更新)-对于版本,maven不需要检查更新,因为根据定义,版本应该是不可变的(因此不需要检查更新)


这可能看起来很烦人,但如果指定版本,您将在构建中获得可重复性,这将有助于稳定您的开发过程。

您应该检查版本maven插件,您可以做的是,将
*X.Y.Z-SNAPSHOT*
放入依赖项中,并在释放工件时删除-SNAPSHOT后缀。此时X.Y.Z版本应该已经发布了。版本插件有很多目标可以满足您的需求

也许我误解了,但你的句子本身就是矛盾的?对不起。。哪一部分相互矛盾?因为-SNAPSHOT是在依赖项中指定的限定符,所以这并不容易。要么Gradle必须弄清楚这一点,并要求基于配置的x.y.z或z.y.z-SNAPSHOT,要么您必须提出不同的限定符或补丁级别设置,可能使用备受诟病的“+”。(这还取决于工件回购的设置和搜索方式。)