7

我在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>

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

依赖项已成功导入,并显示在 eclipse 项目中。我可以commons-lang3-3.1.jar在包资源管理器中右键单击,然后单击 Maven -> Open 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?

4

3 回答 3

2

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

于 2012-09-22T17:32:31.277 回答
1

我使用SpringSource 工具套件。它基于 Eclipse,让您无需在 Eclipse 上安装 maven 插件,还可以自动解决依赖关系。它可以让你像其他 Java 项目一样导入 maven 项目。只需单击“导入”->“将现有项目导入工作区”,就是这样。

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

于 2012-10-01T13:10:26.633 回答
1

您是否尝试更新本地存储库索引?这是通过在 Eclipse 中打开 Maven 存储库视图(窗口 > 显示视图 > 其他..)并在“本地存储库”中选择重建索引来完成的。

于 2012-09-16T20:36:34.847 回答