关于gradle:效率提升maven-转-gradle-实战-京东云技术团队
一、灵魂三问1、gradle 是什么?一个打包工具, 是一个开源构建自动化工具,足够灵便,能够构建简直任何类型的软件,高性能、可扩大、能洞察等。其中洞察,能够用于剖析构建过程中数据,提供剖析参考,不便排查问题和一直优化构建性能,以下一次编译剖析报告。 2、有什么劣势参考官网文章,针对蕴含10 子模块的工程,绝对 maven 构建速度,大略有 2-3 倍的性能晋升,增量编译大略 7 倍的性能晋升,参考官网 实测比照: gradle 耗时maven 耗时全新构建(clean 及下载依赖包)1m 35s1m58s全新构建(clean)43s60s增量构建14s43sgradle 执行命令: time gradle clean build package -x test mvn 执行的命令: time mvn clean package -Dmaven.test.skip=true -f $(pwd) -T 1C -Dmaven.artifact.threads=16 综述,通过多轮测试,在增量编译场景劣势比较突出均匀有 2 倍的性能晋升,工程模块越多效率晋升越大。 3、迁徙是否容易摸着心口说,并不容易,尽管官网提供了一键迁徙的工具,然而还是有肯定学习老本,但革新实现的确节俭了大把的工夫,尤其是改了一两行代码再次编译时。 二、动动手试试1、装置 gradle举荐应用 sdkman ,次要用于工具多版本治理的工具,如 java 、gradle 、maven 等能够依据理论状况装置应用其中某个一个版本,如jdk8,jdk11 等,版本间切换十分简便。 sdk 介绍: sdk install gradle 8.1.12、执行迁徙命令在以后 maven 工程下,执行如下的命令。 gradle init Found a Maven build. Generate a Gradle build from this? (default: yes) [yes, no] yesSelect build script DSL: 1: Groovy 2: KotlinEnter selection (default: Groovy) [1..2] 1Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] no不出意外下,会在默认子模块下增加 build.gradle 文件,如下图: ...