【问题标题】:stop automatic building with maven / eclipse使用 maven / eclipse 停止自动构建
【发布时间】:2011-10-16 10:31:39
【问题描述】:

我们使用 Maven 和 Eclipse。我们有一个多模块项目,相当大。

Eclispe-Maven 集成似乎自行决定何时响应构建依赖模块,这很痛苦。

我开启了自动构建,但似乎没有任何改变。

某些操作(例如:删除资源或启动模块)会触发另一个模块的构建。

如何改变这种行为?我更喜欢根据需要手动调用 maven。

【问题讨论】:

  • 您在使用自定义构建器吗?以及什么样的maven集成m2eclis、m2e等?

标签: eclipse maven


【解决方案1】:

只需转到顶部栏中的项目,而不是取消选中“自动构建”。它将停止自动构建项目并节省您宝贵的时间。

【讨论】:

    【解决方案2】:

    Ziesemer 的解决方案确实会停用 Maven 构建,但我认为当您在 Eclipse 中执行代码以进行调试或测试时,它会带来一些相当不受欢迎的副作用。问题将是某些资源将不存在,因为构建不会运行以按预期复制和过滤它们。如果像我一样,如果每次需要运行代码时往往忘记手动运行 maven 构建,这会导致一些令人不快的幻影错误和浪费时间。

    关闭不需要的项目 当您拥有项目的工作副本时,请执行

    mvn clean install
    这会将所有依赖项安装在本地存储库中。完成后,只需关闭您不需要的项目,只打开您正在处理的项目。这将迫使 Maven 从本地存储库而不是工作区解析项目。通过这样做,它不会触发依赖项的构建。

    停用工作区分辨率 您也可以通过单击一个项目并停用工作区分辨率来实现类似的效果。这将强制 Maven 执行存储库解析并绕过构建。但是,如果您更改多个项目,您必须确保首先将它们安装到本地存储库,否则其他项目将看不到更改。可能还需要手动调整项目以解决依赖关系,尤其是在您不使用 SNAPSHOT 构建版本的情况下。

    进一步拆分项目 另一种选择是将您的项目拆分为多个模块,每个模块都有自己的模块。这将创建一个更深层次的层次结构,它自身具有负面影响,但它允许您在您的环境中只保持一组活动。同样,请确保您已将其他集合安装到本地存储库,以便解决方案正常工作。

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      右键单击您尝试禁用自动 Maven 构建的项目,单击“属性”,然后从左侧导航中单击“构建器”。那里应该有一个“Maven Project Builder”,您可以取消选中它以禁用它。

      我不确定这是否正是您想要的。我自己也从未真正进行过这样的操作,因此我无法谈论您可能遇到的任何副作用 - 尽管 Eclipse 本身会警告您:“这是一项高级操作。禁用项目构建器可能有很多方面-效果。继续吗?”。

      假设您的项目处于某种版本控制中,在执行此操作之前,请确保只有您的 pom.xml 而不是您的 Eclipse .project 文件或 .settings 文件夹处于源代码控制中。 (如果是这样,请确保不要将它们提交回去。)您团队的其他成员可能不希望整个组禁用此构建器。 :-)

      【讨论】:

        猜你喜欢
        • 2015-03-03
        • 2012-11-08
        • 2012-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-16
        • 2015-09-28
        相关资源
        最近更新 更多