如何告诉 Maven 从自定义 Nexus 存储库获取最新版本的工件

how do i tell maven to get latest version of artifact from custom nexus repository

提问人:user2315104 提问时间:5/7/2014 更新时间:9/8/2017 访问量:3562

问:

我有以下要求。 我需要从自定义 Nexus 存储库而不是快照存储库下载最新版本的 Artifact。

请提出建议

谢谢。

Maven Nexus

评论

0赞 Saif Asif 5/7/2014
您使用的是哪个版本的 maven?
0赞 TT-- 6/18/2019
使用 Nexus rest API 获取给定 groupid/artifactId 的最新项目版本的可能重复项

答:

1赞 Saif Asif 5/7/2014 #1

若要获取任何项目的最新版本,只需从依赖项中省略标记即可。这样,maven 将始终从远程存储库获取此工件的最新版本。<version>

警告:请记住,这不是处理依赖项的首选方法,也不是依赖项管理的正确流程。通过保持版本号的开放性,您的项目很有可能获取任何库的特定版本,该版本现在不向后兼容,并可能破坏您在项目中的功能。因此,始终建议为任何应用程序所需的所有工件指定一个特定的版本号,并且在更新任何库版本时,应正确测试它。

编辑

对于 maven3,您可以使用开放式版本标记的功能。像这样的东西

<version>[1.12.4,)</version>

有关版本范围的更多详细信息,请查看此页面

评论

1赞 Absurd-Mind 5/7/2014
Maven 3 不允许省略版本号。
0赞 Saif Asif 5/7/2014
True,更新了 maven3 和 maven2 的答案
0赞 khmarbaise 5/7/2014
不要使用版本范围,因为生成的版本不再可重现。
0赞 user2315104 5/8/2014
但是比方说,所述工件存在于许多存储库中,例如 snapshot、releases、abc,那么在这种情况下,如果我不在依赖项中提及版本标签,它将从哪个存储库中选择最新版本??
0赞 Saif Asif 5/8/2014
@user2315104 这取决于您和您定义存储库的方式。默认情况下,存储库始终按照 .settings.xmlpom.xml/settings.xml
1赞 Todor Kolev 9/8/2017 #2

根据这个问题:不能排除 https://issues.apache.org/jira/browse/MNG-3092 快照(至少在修复此问题之前)。