我在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?
答案 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; “用户设置”。