跳至主要内容

博文

目前显示的是 十一月, 2021的博文

加快Maven的构建速度

Welcome file 简介 对于CI/CD服务器,需要频繁对maven项目进行构建。我们可以基于这样的场景,使用一些技术加快maven构建速度。 使用所有cpu进行构建 默认情况下,maven只使用一个线程进行构建,但对于有多核cpu的CI/CD服务器来说,这样就有些浪费cpu资源了。这时可以通过Maven 3的并行构建来充分利用多核的性能,加速maven的构建。 构建命令: mvn -T 1C clean install 设置 -T 1C 表示每个CPU一个线程。 这对于有多个模块并且没有依赖关系的大型项目来说,能极大的加快构建速度。更详细的资料可见参考资料1。 后台运行Maven maven每次启动构建,JVM都需要重新加载相关的类,初始化相关的环境。对于CI/CD服务器来说,频繁构建就导致频繁的JVM初始化,会消耗大量时间。基于这样的场景,社区开发了maven daemon项目。 该项目的目的是让maven一直运行在后台,这样就可以免去不少maven构建时的初始化步骤。还有该项目使用了GraalVM,也就是说maven daemon是直接以本地二进制代码执行的,执行效率和内存占用相对传统JVM来说更有优势。 maven daemon使用起来也很简单,跟普通的mvn命令一样,只需要把mvn改成mvnd就可以(不同环境的安装方法,可见参考资料2的官方文档): mvnd clean install maven daemon默认就是以多线程的方式运行,所以不需要再额外设置参数。 参考资料 [1]Parallel builds in Maven 3: https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3 [2]mvn daemon: https://github.com/mvndaemon/mvnd