【问题标题】:How can I locate the POM which requests a missing POM?如何找到请求丢失 POM 的 POM?
【发布时间】:2011-08-13 22:33:34
【问题描述】:

当我构建我的项目时,我收到以下警告:

[INFO] ------------------------------------------------------------------------
[INFO] Building XXX
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.eclipse.update:org.eclipse.update.configurator:jar:3.2.0 is missing, no dependency information available
[WARNING] The POM for org.eclipse.emf:org.eclipse.emf.ecore:jar:2.3.2 is missing, no dependency information available
[WARNING] The POM for com.ibm.icu:com.ibm.icu:jar:3.4.4 is missing, no dependency information available

在我的构建中,我覆盖了这些依赖项的版本并且构建本身成功。

修复警告的最快方法是什么?

编辑:找到包含这些版本的 POM 的最快方法是什么?

注意:我的本地仓库中有 7000 个 POM。

【问题讨论】:

  • 更改您正在使用的依赖项的 pom 或使用 pom 正确甚至存在的其他版本。
  • 这清楚地表明您提供的依赖版本在您的本地存储库中不存在。放置正确的版本或尝试完全删除 元素。
  • @Aprit:我项目的POM中的版本是正确的;这是一个错误的传递依赖。我怎样才能知道是哪一个? mvn dependecy:tree 只显示最终版本,而不是被覆盖的版本。

标签: maven dependencies warnings pom.xml


【解决方案1】:

试试dependency-plugin的分析工具

尤其是mvn dependency:analyze-dep-mgt

【讨论】:

  • +1 确实是一个非常有用的命令。如果它只是告诉 哪个 POM 导致了问题......
【解决方案2】:

一些可能有帮助的事情:

mvn dependency:tree -Dverbose=true 可以吐出未使用的副本/版本。但是,在我的情况下还不够,由于某种原因,它没有显示有问题的 jar 列表 [?]。它也没有显示省略的 jar 的后代,这可能有用也可能没用。

参考:http://jira.codehaus.org/browse/MDEP-123

Intellij 可以列出它认为有问题的 pom 和路径(打开 pom.xml 文件,将鼠标悬停在带下划线的“项目”上:

不幸的是,这些对我来说都不够。

然后我注意到,如果您从 ~/.m2/repository 中删除有问题的目录,它将再次下载并且基本上是空的。所以我认为这个错误消息有时可能意味着“你的关系列出了一个实际上没有可供下载的版本”。看来,默认情况下,如果您请求例如 commons-logging 1.1.1,maven 将尝试下载所有已知版本的 common-logging 的 pom,然后,在我的情况下,它会发出该警告,但它是良性的。呸!

所以实际上,除了 nexus 的元数据索引之外,您的任何项目都可能没有指向错误 pom(或错误版本等)的警告。

【讨论】:

    【解决方案3】:

    您可以使用 dependency:tree 查看 pom 引用了您缺少的那个

    【讨论】:

    • 正如我多次说过的:这向我展示了构建使用的内容。构建工作。但我仍然收到警告,因为介于两者之间的某个地方,Maven 会查看不属于最终类路径的 部分的 POM。我怎么看这些?
    • 显而易见的方法是从你的 pom 中删除覆盖,然后运行 ​​dependency:tree。这仍然比筛选 7000 个 pom 更好......但是我认为dependencyManagement 部分会覆盖而不给你警告。你有一个简单的例子来说明我们可以运行的那种类型的问题吗?
    猜你喜欢
    • 2012-04-04
    • 2014-06-19
    • 2011-10-29
    • 2016-09-28
    • 2012-02-03
    • 2012-05-15
    • 2016-12-17
    • 2019-02-14
    • 2021-12-11
    相关资源
    最近更新 更多