【问题标题】:Which JAR was loaded by which dependency?哪个 JAR 由哪个依赖项加载?
【发布时间】:2014-08-29 17:57:54
【问题描述】:

我有很多依赖项,它们在我的项目中加载了很多 jar。
如何检查哪个 jar 是由哪个依赖项加载的?

有这个jar文件:

M2_REPO\commons-io\commons-io\1.3.2.v20080604-1500_orbit\commons-io-1.3.2.v20080604-1500_orbit.jar

如您所见,我的Apache Commons IO 的版本是1.3.2。我需要的最新版本是 2.4。当我只是将最新的 JAR 文件添加到我的项目中并添加这个

import org.apache.commons.io.IOUtils;

它似乎无法识别它,因为它无法识别最新版本的某些新功能。所以需要删除对应的依赖。
或者是否可以从依赖项中排除旧文件而不更改其他任何内容?
PS:我在 pom.xml 中查找了关键字“commons”,但没有找到与此相关的任何内容。

【问题讨论】:

  • 你需要将它作为依赖添加到 pom 文件中。
  • 在自己的 pom.xml 中添加你需要的依赖。较新的版本将覆盖由 commons-io 指定的旧版本。
  • 您可以使用dependency:tree目标来显示哪些Maven子项目对应于哪些声明的依赖项的层次结构。见:maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html

标签: java eclipse maven jar dependencies


【解决方案1】:

下面的 maven 命令应该告诉你你从哪个 jar 获得 commons-io:commons-io。

mvn dependency:tree -Dincludes=commons-io:commons-io

一旦您知道,您从哪个 jar 中传递地拉取该 jar,您就可以排除 commons-io jar。

【讨论】:

    猜你喜欢
    • 2014-01-24
    • 1970-01-01
    • 2020-04-21
    • 2020-08-12
    • 2015-05-10
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多