2016-04-15 80 views
0

我正在寻找一种方法来加速eclipse中的重建。一些背景:我们有一个相对较大的项目,大约177个pom文件,大约150个maven模块。没有测试的完整版本需要大约15-20分钟,测试 - 接近6小时。调试或反馈时,哪个是PITA。我们有几个活跃的分支(并且需要经常在它们之间切换,有时每天几次)。本地分支始终是X.X-SNAPSHOT版本(这似乎很重要)。在多个项目中优化eclipse中的maven构建

大多数情况下,您没有对所有项目进行更改,只有很少的项目正在进行。所以有很多优化的空间。

我想我的理想场景是选择某些将从包存储库中提取的项目,并且除非明确说明,否则不会在本地构建。这可以实现吗?


事情我想:

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

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

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

  4. 表明我们将这个巨大的回购分解成单独的服务和基础库,并转移到不同的源代码控制回购。从管理层得到“是的”。可能不会发生。

还有什么可以做的吗?

回答

0

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