我在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来自何处。任何的想法 ?感谢。
答案 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)添加到列表中,并将其用作默认值。