这是2020年,如果您要启动任何新的基于Java的项目,则应优先选择gradle,但由于某些原因,如果您仍然对Maven感兴趣,那么您可能会发现这篇文章很有用。
Maven Java / scala编译器插件对增量编译提供了不错的支持,但它无法处理一些极端情况,例如
- 从源文件夹中删除文件时触发编译 。
- 不更改代码时跳过单元测试。
大多数情况下,只是为了处理已删除文件的情况
“ mvn全新安装” ,这意味着将遵守完整的代码并执行单元测试。
Scala代码的编译很慢,如果项目包含运行缓慢的测试(如启动Webserver,spark上下文,IO等),则情况会变得更糟。 在许多情况下,等待时间可能是几分钟。
即使代码未更改,我也不考虑浪费的CPU周

本文探讨了如何在2020年针对Java项目利用Maven进行更有效的增量构建,尤其是在面临极端情况时。文章指出,尽管Maven的编译器插件在增量编译方面有限,但通过编写额外的Maven插件,可以解决删除文件后的编译触发和无代码变更时的单元测试跳过问题,从而显著减少编译时间。作者提供了插件的使用方法和GitHub链接,强调了度量构建性能对于实现快速构建和连续交付的重要性。

5万+

被折叠的 条评论
为什么被折叠?



