【问题标题】:Optimizing the maven builds in eclipse with multiple projects使用多个项目优化 Eclipse 中的 Maven 构建
【发布时间】:2016-08-06 19:05:39
【问题描述】:

我正在寻找一种在 Eclipse 中加快重建速度的方法。

一些背景:我们有一个比较大的项目,总共大约 177 个 pom 文件,大约 150 个 maven 模块。没有测试的完整构建大约需要 15-20 分钟,测试 - 接近 6 小时。当您调试或反射时,这是一个 PITA。我们有几个活跃的分支(并且需要经常在它们之间切换,有时每天几次)。本地分支总是 X.X-SNAPSHOT 版本(这似乎很重要)。

大多数时候,您并没有对所有项目进行更改,您只需要对少数项目进行更改。所以还有很大的优化空间。

我想我的理想方案是选择要从包存储库中提取的某些项目,除非我明确说明,否则永远不要在本地构建。这可以实现吗?


我尝试过的事情:

  1. 仅导入模块的子集。部分有帮助,但 maven 仍然检查所有依赖项,这不可避免地导致项目中一半的模块被检查,即使它们都没有改变。部分成功。

  2. 仅从源代码管理中检出我将使用的项目。构建速度非常快,因为 maven 从企业 repo 或 ~/.m2 缓存中提取二进制依赖项,而不是构建它们。使用 SVN 和 Git 变得相当困难,因为您没有检查所有源代码。部分成功。

  3. 禁用自动构建并使用 -am -pl 选项从命令行构建所有内容,指定已更新的项目。当您需要构建较大的更改(即在合并之后)时会有所帮助,但是 (a) 这很麻烦,并且 (b) 当您再次打开自动构建时,您会被征税。

  4. 建议我们将庞大的存储库分解为单独的服务和基础库,并转移到不同的源代码控制存储库中。从管理层得到“是的”。可能不会发生。

还有什么可以做的吗?

【问题讨论】:

    标签: eclipse maven build module


    【解决方案1】:

    在被这 4 个选项卡住了一段时间后,我发现迁移到 Idea 并摆弄 Maven 缓存设置(字面意思是,将 IDE 缓存指向 ~/.m2)让痛苦变得更容易忍受了。解决方案仍然远远不能令人满意。我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-01-19
      • 1970-01-01
      • 2011-05-11
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 2010-11-24
      • 1970-01-01
      相关资源
      最近更新 更多