在 Eclipse 中打开 Maven POM 文件依赖项层次结构时出错 - “项目读取错误”
当我打开一个POM文件并单击底部的“依赖关系层次结构”选项卡时,它给我一个错误,“项目读取错误”。它适用于同一工作区中的其他项目,但不适用于此项目。有什么想法吗?
编辑
回应@Yhn的回答。
- 从命令行运行 Eclipse 外部的编译和打包阶段,按预期工作。它编译应用程序并生成最终的 WAR 文件。
- Eclipse确实指向Maven设置的默认位置.xml文件,因此它应该知道其中定义的自定义存储库(我的公司有自己的Maven存储库)。
- 我可以从 Eclipse 打开和编辑 POM 文件,因此它必须对该文件具有读/写权限。
- 该项目未在 Eclipse 中配置为 Maven 项目,因此我无法从 Eclipse 运行包阶段(我只能从命令行运行它)。
我想知道这是否与我在使用Maven 3构建项目时遇到问题这一事实有关,因为显然一些传递依赖项是为Maven 1配置的,Maven 3不支持(无论如何,这是我的理论,基于一些错误消息)。我可以使用 Maven 2 构建项目,但我仍然收到如下消息:
Downloading: http://dist.codehaus.org/mule/dependencies/maven2/org/codehaus/xfie/bcprov-jdk14/133/bcprov-jdk14-133.pom
[INFO] Unable to find resource 'org.codehaus.xfire:bcprov-jdk14:pom:133' in repsitory mule (http://dist.codehaus.org/mule/dependencies/maven2)
但是,它必须能够找到这些依赖项,因为它可以很好地下载JAR并且可以构建应用程序。似乎问题在于依赖项没有与之关联的POM文件,这可能就是为什么它们不能与Maven 3一起使用的原因。这可能也是我无法在 Eclipse 中查看依赖层次结构的原因。
编辑 2
我通过转到“配置>转换为Maven项目”将项目转换为Maven项目。当我打开POM文件时,我看到错误:
ArtifactDescriptorException: Failed to read artifact descriptor for woodstox:wst (Click for 140 more)
(woodstox:wst是该项目的另一个传递依赖项)。“标记”视图中出现了一个错误,似乎在我的项目中的每个依赖关系和传递依赖关系中。但是,我可以通过执行“运行方式> Maven 生成”来成功生成项目。(编辑:这可能是因为这个项目没有Java源代码,但依赖项的JAR正确出现在最终的WAR中。依赖项层次结构仍给出相同的错误 - “项目读取错误”。
关于“无法找到资源”消息 - 但这只出现在少数传递依赖项中。该项目具有更多的传递依赖项,但不会为它们显示这些消息。看起来,因为依赖项没有POM文件,所以Maven每次构建项目时都会尝试搜索它们。没有POM是正常的吗?
如何获取存储库管理器?这是必须安装在公司的Maven存储库上的东西,还是可以将其安装在自己的工作站上?