Eclipse:不能 运行 作为具有工作区依赖项的 Maven 构建

Eclipse: Can't Run As Maven Build with Workspace Dependencies

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

我有一个非常简单的项目结构(实际上它更复杂,但即使是最简单的也不起作用)如下所示:

 - project A
   - (dependes on) project B

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

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

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

我也尝试过:

顺便说一句,如果我尝试在命令行中构建(mvn 编译)项目,我会得到同样的错误(但我按预期看到它,因为项目 A 尚未安装,maven(在命令行中) 不知道我的工作区。我错了吗?

编辑:我的理解来自这个Sonatype link,它指出:

You can configure a project to resolve dependencies from a workspace. This has the effect of altering the way that Maven locates dependency artifacts. If a project is configured to resolve dependencies from the workspace, these artifacts do not need to be present in your local repository.

我从 Eclipse 中删除了所有项目,然后再次添加,一切突然开始正常工作。真郁闷

我不知道是否值得将这个问题保留在 SO 中,如果某些版主认为最好删除这个问题,我认为完全没有问题。

这个问题(困扰我这么久)的真正解决方案是 运行 对话框中的复选框。您必须检查 Resolve Workspace artifacts。不管你的工作区设置如何,你每次都必须这样做。