2012-05-01 54 views
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 
+0

你是否支持代理?你使用回购管理器吗? – khmarbaise

+0

是和是。我的同事已经在.m2中配置了我的设置文件。 –

回答

2

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

(不过,这并不;升级或降级的Log4J依赖 - 这IIRC一直固定在1.2.16和1.2.mumble之前是不存在的)

0

这种路径依赖的是像堆栈跟踪的例外。它说什么依赖关系的传递导致了错误。事实上,Log4j的情况在某种程度上是特定的。他们在1.2.15版本中搞砸了它的依赖关系,实际上需要的不仅仅是它真正需要的。说实话,你可以为此做的最好的事情是使用1.2.16版本,它过渡地依赖于确实需要的库。

在Sun的Java日子里有一个jmxri工件的授权问题。这就是为什么到目前为止,这些东西在公共Maven仓库中不可用。

+0

Maven中心提供给定的依赖关系:http://search.maven.org/#artifactdetails | com.sun.jmx | jmxri | 1.2.1 | jar – khmarbaise

+0

好吧,那里有POM,但罐子在哪里? ;) –