为什么m2e没有从nexus中找到我的一些快照依赖项?

时间:2014-02-19 15:18:01

标签: java eclipse maven nexus m2e

在我构建的eclipse中,我得到以下警告:

2/18/14, 4:30:35 PM MST: [INFO] Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: com.foo:bar:14.4.19-SNAPSHOT @ C:\dev\code\apps\iv\pom.xml.
2/18/14, 4:30:35 PM MST: [WARN] The POM for com.foo.libraries:s2j:jar:1.0.3-SNAPSHOT is missing, no dependency information available
2/18/14, 4:30:35 PM MST: [WARN] The POM for com.foo.libraries:caching:jar:1.0.1-SNAPSHOT is missing, no dependency information available
2/18/14, 4:30:35 PM MST: [WARN] The POM for com.foo.libraries:email:jar:1.0.1-SNAPSHOT is missing, no dependency information available
...

等等。构建没有完成,我在目标目录中得不到m2e-wtp / web-resources文件夹。

当我从命令行构建时,没有问题,这些工件被发现就好了。他们肯定在我的本地存储库中,为什么会这样?

实验的一些进一步细节:

删除我的本地存储库并在eclipse中重建下载了一些工件,但导致找不到更多的工件(最初我有5个缺失的工件,现在我有7个)。未找到的那些不是从Nexus下载的。

在上面的实验中删除了存储库之后,我从命令行构建了下载并列出了缺失的工件,并且构建成功。但是,回到eclipse会导致相同的错误(尽管现在将它们放在我的本地存储库中)。

当我“跑来跑去”时,在日食中> “Maven Install”下载并找到丢失的工件。如果我在此之后做了“构建项目”,我仍然会遇到同样的问题。

eclipse中的其他项目在同一个工件上遇到了同样的问题。

2 个答案:

答案 0 :(得分:0)

类似的事情发生在我身上一次。我已经检查了com.foo:bar以及com.foo.libraries:s2j,但我没有将库配置为eclipse中的maven项目。所以maven安装工作得很好(只使用了pom文件),但eclipse构建失败了。

因此,检查所有项目是否配置为maven,并尝试Maven>更新项目并检查强制更新快照和清理项目。

答案 1 :(得分:0)

我找到了解决方案。

显然,当我完成了工作空间已解决的项目的大规模关闭时,其中一些项目处于不良状态。看起来eclipse试图找到jar作为工作区解析项目,但是项目被关闭并导致它们不存在的结果(而不是查看我的本地存储库)。

一旦我打开(然后关闭)每个缺失的依赖项的相应项目,它们就会在我的本地存储库中找到。