【问题标题】:How to skip downloading a specific pom in Maven如何跳过在 Maven 中下载特定的 pom
【发布时间】:2015-03-24 09:15:31
【问题描述】:

我有一个由几个模块组成的 Maven 项目。最初主项目有一个<root> 部分,由于存储库不可用,这阻止了整个项目的构建。

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

现在构建过程在某个嵌套项目处停止,告诉无法下载 pom 文件。它准确地提到了我删除的父母的 pom。

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

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

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

【问题讨论】:

  • 您可以在 pom.xml 中提到存储库,而不是在 settings.xml 中。你能显示 pom.xml 吗?
  • 说排除特定的 pom - 你的意思是排除 pom 中的特定依赖,对吧?
  • 不完全是。在 maven 构建过程中有一个关于 pom 文件下载的输出...
  • 那么,什么?请更具体,以 pom.xml 为例会有所帮助

标签: maven dependencies filtering


【解决方案1】:

看来我确实设法弄清楚了:

  1. 在 settings.xml 文件中定义所有目标存储库
  2. 定义!central,!target-repo1,...,!target-repoN的镜像
  3. 使用greptool 查找是否有指向该问题制造者父级的链接 项目
  4. 上一步成功完成后 - 编辑相应的 pom 文件以删除 <parent> 部分。

所有这些似乎都得到了结果 - 没有任何关于神秘的 pom 文件的提及,也没有任何尝试从未明确提及的存储库下载东西。

非常感谢大家的宝贵时间!

【讨论】:

    猜你喜欢
    • 2017-01-02
    • 1970-01-01
    • 2012-04-04
    • 2013-03-27
    • 2019-01-13
    • 2011-12-06
    • 2014-11-12
    • 2012-12-27
    • 1970-01-01
    相关资源
    最近更新 更多