Eclipse + maven即使存在也无法打开POM

时间:2012-06-21 09:26:34

标签: eclipse maven m2e

我在eclipse中有一个maven项目,有一些依赖项:

<repositories>
    <repository>
        <id>bukkit-repo</id>
        <url>http://repo.bukkit.org/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.1</version>
    </dependency>
    <dependency>
        <groupId>org.bukkit</groupId>
        <artifactId>bukkit</artifactId>
        <version>1.2.5-R1.2</version>
    </dependency>
<dependency>

One(apache commons)来自核心存储库,但另一个来自其他maven服务器。

依赖项已成功导入,并显示在eclipse项目中。我可以右键单击包浏览器中的commons-lang3-3.1.jar,然后单击Maven - &gt;打开POM,打开pom文件。

但是,如果我对bukkit-1.2.5-R1.2.jar执行相同操作,则会失败并显示以下消息:

  

[错误]无法解析工件org.bukkit:bukkit:pom:1.2.5-R1.2

令人困惑的部分是我可以打开eclipse创建的maven存储库索引,并看到所需的文件存在:

\.m2\repository\org\bukkit\bukkit\1.2.5-R1.2:
    bukkit-1.2.5-R1.2.jar
    bukkit-1.2.5-R1.2.jar.lastUpdated
    bukkit-1.2.5-R1.2.jar.sha1
    bukkit-1.2.5-R1.2.pom
    bukkit-1.2.5-R1.2.pom.lastUpdated
    bukkit-1.2.5-R1.2.pom.sha1
    ...

为什么不能eclipse / m2e / maven找到并打开这个POM?

3 个答案:

答案 0 :(得分:1)

您是否尝试更新本地存储库索引?这是通过在eclipse中打开Maven存储库视图(Window&gt; Show View&gt; Other ..)完成的,一旦在“Local Repositories”中选择Rebuild Index。

答案 1 :(得分:1)

嗨问题是由* .lastupdated文件引起的。如果在第一次无法解析依赖关系并且在24小时内阻止存储库查找相应工件,则会生成这些文件。 (这是在maven中实现的性能改进) ...我假设您在遇到问题后添加了repo,无法解析依赖项。 只需删除* .lastUpdated文件并再次运行构建。

答案 2 :(得分:1)

我使用SpringSource Tool Suite。它基于Eclipse,你可以在Eclipse上安装maven插件,并自动解析依赖项。它让你像其他Java项目一样导入maven项目。只需点击“导入” - &gt; “将现有项目导入工作区”,就是这样。

对于配置和存储位置,默认情况下它使用.m2 \ settings.xml的路径,但您始终可以通过转到“首选项” - &gt;来编辑它。 “Maven” - &gt; “用户设置”。