【问题标题】:how build automatically works with eclipse using mavenbuild 如何使用 maven 自动与 eclipse 一起工作
【发布时间】: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


【解决方案1】:

事实证明,我面临的问题实际上与 maven 或 m2e 无关,而是与热交换/部署有关(基本上在运行时更改代码而无需重新启动应用程序)。

显然有一些限制,它只支持方法体更改。当我添加新的属性或方法时,我必须重新启动应用程序才能使其生效。

【讨论】:

    【解决方案2】:

    在您项目的 .settings 文件夹中有一个 m2e 首选项文件,您可以启用或禁用本地项目查找属性。

    【讨论】:

    • 我建议您在答案中提供更多参考信息,以避免它被否决 - 也许尝试从这里找到一些信息来支持您的答案? m2e settings - 只是想帮助我们,因为你的新!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2013-04-09
    相关资源
    最近更新 更多