【发布时间】:2018-09-26 13:22:48
【问题描述】:
我有一个 Maven 项目在本地签出,在 Eclipse 中使用如下依赖层次结构。
A -> B -> C -> D
在运行应用程序时,我对项目 D 中的代码进行了更改,eclipse 是否应该自动获取更改?
我注意到情况并非如此,我不得不手动安装 maven。但是对项目 C 的更改是在运行时以某种方式获取的。有人可以解释这个过程是如何工作的吗?我是否必须进行一些其他配置才能使其正常工作?谢谢。
【问题讨论】:
-
您是添加“现有的 Maven 项目到 Eclipse”还是运行
mvn eclipse:eclipse并添加“现有的项目到 Eclipse”?这个问题用 m2eclipse 标记(暗示第一个),但我想仔细检查一下,因为我认为使用eclipse:eclipse插件通常会导致这种行为。 -
在 eclipse(project->build automaticaly) 中有自动构建选项,因此如果在您进行任何更改时选中该选项,则 eclipse 将重建工作区。如果您在 eclipse 中运行项目,更改将是在运行时拾取。要将更改反映在 jar 或 war(如果您正在创建)中,您需要手动构建 maven。
-
@CaptainMan 我确实导入了“现有的 Maven 项目”。
-
@Nawnit Sen 是的,该选项已选中。这是一个弹簧启动应用程序(jar)。当您说它重建工作区时,eclipse 是否在项目 D -> C -> B -> A 上进行安装?按这个顺序?
-
那么问题出在哪里?启动应用程序后,您正在对 D 进行更改,并且您希望选择正确吗?如果您在 C 中进行更改,它会被选中吗?
标签: java eclipse maven m2eclipse