覆盖 public 个可通过代理存储库获取的快照项目

Overwrite public snapshot artifact available via proxy repository

我经常遇到这样的问题,我需要 Apache 快照或 Sonatype 快照存储库中包含的一些开源工件的自定义快照版本。一个不错的方法是在我的私有 Nexus 存储库中部署这些自定义工件。

无论 public 存储库中是否有更新的快照,我如何才能确保 Maven 始终获取我的自定义工件?这意味着:始终在存在匹配项时从托管快照存储库中获取工件,否则使用 public 个。

如果您有 "patched" 工件,请避免重复使用 Maven 坐标(组、工件、版本)。

要么使用不同的工件名称(类似于 commons-io-patched),要么在版本号中添加类似这样的名称。那么你的神器和官方神器就很容易区分了。

请注意,更改版本号(例如从 1.0.0-SNAPSHOT 到 1.0.0-patched-SNAPSHOT)允许 Maven 依赖调解介入,即如果您同时使用补丁和官方工件(可能是传递性的) ) 只有其中一个将包含在构建中(这可能是您想要的)。