说话的那个,做事的那个!

说话的那个,做事的那个!

在博客里为什么在pom中放置存储库是一个坏主意Sonatype要求开源社区正确管理他们的Maven2 POM文件。这是一个很好的和重要的请求,因为Maven将无法正常工作:

  • 随着时间的推移(由于URL更改)
  • 在一个封闭的环境(没有直接访问互联网从一个开发人员机)
  • 因为它会将您选择的存储库管理器(Nexus,Archiva(或Artifactory)来解决依赖关系—这是最重要的。

几乎每个使用Maven的客户都面临着这个问题,他们中的大多数都在使用懒惰和肮脏的解决方案mirrorOf”。在博客中,有人认为将所有Maven请求镜像到单个URL是一个好主意:我们知道这是一个坏主意,因为它完全剥夺了对发布、快照和插件的源代码隔离的控制!

在那里然而,博客中关于开源项目的POM文件的一个戏剧性的句子(它实际上适用于每个人):
您所定义的条目将是永远燃烧放入你释放的pom中。”
听起来Maven被设计破坏了,而且永远都破坏了,因为所有坏的POM文件都已经存在了。

由于我们支持我们的客户,并且他们正在遭受他们无法控制的行为,我们决定修复它。

在Artifactory的最新版本(2.1.3)中,现在有一个新功能自动清除在pom中声明的远程存储库。
您现在可以配置任何虚拟存储库,以自动清除POM文件中声明的非法远程存储库。

默认情况下,Artifactory将为直接在项目POM实体下声明的存储库和插件存储库执行此操作,或者在默认激活配置文件中声明。您可以执行更深入的清理,以删除所有存储库以及所有概要文件中的插件存储库声明。

使用Artifactory作为您的存储库管理器意味着您永远不会得到“永远燃烧这是由于在漂亮的、流行的开源项目的POM文件中犯了一些无辜的错误。

“说话的那个,做事的那个!”