2

我收到以下错误。“依赖路径”指的是什么,为什么有 3 个位置?

我几乎没有 Maven 经验。

Missing:
----------
1) com.sun.jmx:jmxri:jar:1.2.1

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) com.services:Common:jar:1.0.0.0
        2) log4j:log4j:jar:1.2.15
        3) com.sun.jmx:jmxri:jar:1.2.1
4

2 回答 2

2

常见需要 Log4J。Log4J 需要 JMX。存在三个“位置”,因为这就是依赖路径的长度。依赖是路径(或多或少)“是什么让我想要这个库?”

(但它没有;升级或降级您的 Log4J 依赖项——IIRC 这已在 1.2.16 中修复,并且在 1.2.mumble 之前不存在。)

于 2012-05-01T21:02:27.520 回答
0

这个依赖路径类似于异常的堆栈跟踪。它说明了哪些依赖项的传递导致错误。实际上,Log4j 案例在某种程度上是特定的。他们在 1.2.15 版本中搞砸了它的依赖关系,实际上需要的比它真正需要的要多得多。老实说,您能做的最好的事情就是使用 1.2.16 版本,该版本可传递地依赖于确实需要的库。

jmxri起源于 Sun 的 Java 时代的工件存在许可问题。这就是为什么到目前为止这些东西在公共 Maven 存储库中不可用的原因。

于 2012-05-01T21:05:48.293 回答