关于maven依赖的问题

时间:2011-08-11 00:49:33

标签: maven dependencies

我在eclipse中加载了maven项目然后发现了pom.xml文件错误,当我点击“概述”标签(m2eclipse)时,它说:

Failed to read artifact descriptor for commons-logging:commons-logging:jar:1.1.2-SNAPSHOT

当我单击依赖关系层次结构选项卡时,它显示“项目读取错误”,但是从命令行运行'mvn dependency:tree'没有问题,并且可以看到对commons-logging的依赖:

commons-logging:commons-logging:jar:1.1.1:compile

只是不明白commons-logging 1.1.2-SNAPSHOT来自何处。任何的想法 ?感谢。

3 个答案:

答案 0 :(得分:1)

为了确定依赖项commons-logging的来源(即使没有.pom编辑器及其依赖项编辑器),打开控制台并执行以下命令:

mvn dependency:tree -Dverbose -Dincludes=commons-logging

这将显示commons-logging的所有依赖项。

我查看了依赖树,但没有找到任何对1.1.2-SNAPSHOT的引用。

最后,将以下依赖项添加到我的pom.xml中解决了这个问题:

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.2-SNAPSHOT</version>
    </dependency>

答案 1 :(得分:0)

最有可能传递进入您的项目。您可以在eclipse中查看pom编辑器的“Dependency Hierarchy”部分,看看它来自何处(在右上方搜索commons-logging)。另外,我看不到1.1.2-SNAPSHOT版本的commons-logging on central,所以很可能有人在依赖pom中犯了错误。

答案 2 :(得分:0)

默认情况下,eclipse不使用与命令行相同的maven安装。根据您的m2eclipse版本,它可能使用嵌入式maven snaphsot(具有奇怪的行为)。检查

eclipse -> Window -> Preferences -> Maven -> Installations

并将您的外部maven安装(首选版本3.0.3)添加到列表中,并将其用作默认值。