java – 在Eclipse中打开Maven POM文件依赖关系层次错误 – “项目读取错误”

当我打开POM文件并点击底部的“依赖层次”选项卡时,它会给我错误的“项目读取错误”。它与同一个工作区中的其他项目一起工作,而不是与这个项目。有任何想法吗?

编辑

回应@ Yhn的回答。

>从预期的命令行工作运行Eclipse之外的编译和程序包阶段。它编译应用程序并构建最终的WAR文件。
> Eclipse确实指向Maven settings.xml文件的默认位置,所以它应该知道它定义的自定义存储库(我的公司有自己的Maven存储库)。
>我可以从Eclipse打开并编辑POM文件,因此它必须具有对该文件的读/写权限。
>该项目没有在Eclipse中配置为Maven项目,所以我无法从Eclipse运行软件包阶段(我只能从命令行运行它)。

我不知道是否与Maven 3构建项目有困难,因为显然有一些传递依赖关系被配置为Maven 1,这是Maven 3 does not support(这是我的理论,无论如何,基于一些错误消息)。我可以使用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:无法读取woodstox的工件描述符:wst(点击140更多)

(woodstox:wst是项目的另一个传递依赖)。 “Markers”视图中出现错误,因为我的项目中似乎是每个依赖关系和传递依赖关系。但是,我可以通过执行“运行As> Maven构建”来成功构建项目。 (编辑:这可能是因为此项目没有Java源代码,但依赖关系的JAR正确显示在最终的WAR中。)依赖关系层次结构仍然提供相同的错误 – “项目读取错误”。

关于“无法找到资源”的消息 – 但这只是出现在少数传递依赖关系中。该项目具有更多的传递依赖关系,但是这些消息不会出现。似乎,因为依赖关系没有POM文件,所以Maven会在每次构建项目时尝试搜索它们。这是正常的没有POM吗?

我如何去获得一个回购经理?这是否需要安装在公司的Maven存储库中,还是可以将其安装在自己的工作站上?

我有一些非maven jar,我需要包括在我的maven项目中的这个问题。我使用这个maven命令将jar放在我的本地存储库中:

mvn install:install-file -Dfile=/test/gov.nist.xccdf-1.2.jar -DgroupId=gov.nist -DartifactId=xccdf -Dpackaging=jar -Dversion=1.2

然后我把它们称为我的pom.xml中的依赖项:

    <dependency>
        <groupId>gov.nist</groupId>
        <artifactId>xccdf</artifactId>
        <version>1.2</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>

这工作正常了一段时间,但我必须在eclipse升级一些东西,我开始收到你所描述的错误。

修复程序是将它们从本地存储库中取出,并重新安装文件,要求maven为您生成一个pom:

mvn -DgeneratePom=true install:install-file -Dfile=/test/gov.nist.xccdf-1.2.jar -DgroupId=gov.nist -DartifactId=xccdf -Dpackaging=jar -Dversion=1.2

该命令将导致在放置该jar的同一目录(在本地的repo中)生成一个pom。

在eclipse maven支持的最新版本中,maven构建仍然使用maven 2完成(如果您右键单击您的pom.xml,请选择以mvn包运行)。依赖关系分析现在使用嵌入式的maven 3插件,它不喜欢没有pom.xml的依赖关系。

http://stackoverflow.com/questions/6427212/error-opening-maven-pom-file-dependency-hierarchy-in-eclipse-project-read-err

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 在Eclipse中打开Maven POM文件依赖关系层次错误 – “项目读取错误”