如何在Maven中跳过下载特定的pom

时间:2015-01-25 21:51:36

标签: maven dependencies filtering

我有一个由几个模块组成的maven项目。最初,主项目有一个<root>部分,由于存储库不可用而无法构建整个项目。

所以,我决定删除父引用。

现在,在某个嵌套项目中,构建过程停止,告知无法下载 pom 文件。它完全提到我删除的父母的pom。

没有任何对父项目的引用....顺便说一句,它试图从中下载pom 存储库我既没有在任何pom中提及也没有在我明确用build.xml构建的settings.xml文件中提及。

所以,我的问题是:1 - 为什么maven试图为我的任何pom文件中没有提到的项目(artefact)下载pom。 2 - 如何告诉maven从下载中排除特定的pom文件。 3 - maven如何发现我没有提供信息的存储库。 4 - 如何寻找和破坏构建依赖,我希望不存在,并使构建过程不会失败,因为文件不可用,实际上不能参与构建。

P.S。:在我的settings.xml中,我声明了!central,*,但是没有预期的结果 - maven仍然试图询问一些其他的repo for pom我在我的项目中没有引用。

1 个答案:

答案 0 :(得分:1)

似乎我确实设法解决了问题:

  1. 在settings.xml文件中定义所有目标存储库
  2. 定义!central,!target-repo1,...,!target-repoN
  3. 的镜像
  4. 使用grep工具查找是否存在指向该问题制作者父级的链接 项目
  5. 成功完成上一步后 - 编辑相应的pom文件以删除<parent>部分。
  6. 在完成所有这些后,似乎得到了结果 - 没有任何提及的神奇的pom文件,也没有任何尝试从未明确提到的存储库下载的东西。

    非常感谢您的时间!