Eclipse:无法使用Workspace依赖项运行Maven构建

时间:2017-01-10 14:08:53

标签: eclipse maven m2eclipse m2e

m2eclipse的行为让我发疯,在看了十几篇文章后,我觉得我在失去一些东西。我正在使用Eclipse Neon.2(4.6.2)和m2e插件1.7.0.20160303-1933。

我有一个非常简单的项目结构(实际上它更复杂,但即使是最简单的也不起作用)看起来像这样:

 - project A
   - (dependes on) project B

两个项目都在同一个Eclipse工作区中。这两个项目都作为Maven项目导入。

Eclipse可以解决依赖关系并在IDE中将项目显示为“OK”(无错误),但如果我尝试运行为> Maven构建(目标:编译)项目A,maven没有说它找不到项目B依赖。

我没有在我的本地存储库上安装项目B,据我所知m2e可以直接在工作区中找到它们,因此,它反映了我在源代码中自动做出的任何更改。我的假设是对的吗?或者,在通过Eclipse运行之前,是否必须安装所有项目?这将是非常令人失望的。

我也尝试过:

  • 再次禁用/启用项目的Maven性质..同样的结果;
  • mvn eclise:清理,刷新项目,更新maven项目..同样 结果
  • 检查了所有groupId,artifactId,版本..都没问题;
  • 通过Maven>删除并添加了依赖项添加Dep ..相同的结果;
  • 在POM视图中检查项目是否显示为Eclipse项目图标..是的是;
顺便说一下,如果我尝试在命令行中构建(mvn编译)项目,我会得到同样的错误(但是我看到它正如预期的那样,因为项目A还没有安装而且maven(在命令行中)没有我不知道我的工作空间。我错了吗?

编辑:我的理解来自于Sonatype link,其中指出:

  

您可以配置项目以解析工作空间的依赖关系。   这具有改变Maven定位依赖的方式的效果   文物。 如果项目配置为解析来自的依赖项   工作空间,这些工件不需要存在于您的本地   库中。

2 个答案:

答案 0 :(得分:0)

我从Eclipse中删除了所有项目,再次添加,一切都突然开始工作。非常令人沮丧。

我不知道将这个问题保留在SO中是否值得,如果某个主持人判断删除这个问题会更好,我会发现没有任何问题。

答案 1 :(得分:0)

这个问题的真正解决方案(困扰了我很长时间)是运行对话框中的复选框。您必须检查Resolve Workspace artifacts。尽管您有工作空间设置,但每次都必须这样做。

enter image description here