会说话的那个,会说话的那个!

会说话的那个,会说话的那个!

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

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

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

在那里然而,博客中关于POM文件来自开源项目的戏剧性的一句话(实际上适用于每个人):
“你所定义的条目将是永远燃烧进入你发行的POMs。”
这听起来像是Maven被设计和永远地破坏了,因为所有坏的POM文件都已经存在了。

由于我们支持我们的客户,他们正在遭受不受他们控制的行为,我们决定解决这个问题。

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

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

使用Artifactory作为存储库管理器意味着您将永远不会得到“永远燃烧的问题,这是由于在优秀、流行的开源项目的POM文件中犯下的无心错误。

“会说话的那个,会说话的那个!”