1.1 一句话结论Gradle 用代码写配置Maven 用 XML 写配置。Gradle 更快、更简洁代价是刚开始不太顺手。1.2 配置文件对比Maven一个pom.xmlXML只能描述不能写逻辑Gradle两个文件settings.gradle写项目名多模块时列子模块build.gradle主配置替代pom.xml本项目pom.xml有 281 行迁移后build.gradle约 90 行。1.3 直接对照最常见的改法你在 Maven 里写的在 Gradle 里怎么写groupIdcom.own/groupIdgroup com.ownversion1.0/versionversion 1.0packagingwar/packagingplugins { id war }parent spring-boot-starter-parent /parentplugins { id org.springframework.boot version ... }propertiesjava.version1.8/java.versionsourceCompatibility 1.8dependency.../dependencyimplementation ...scopeprovided/scopecompileOnly或providedRuntimescopetest/scopetestImplementationoptionaltrue/optionalcompileOnlyannotationProcessormvn clean package -DskipTestsgradle clean build -x testmvn spring-boot:rungradle bootRun1.4 为什么 Gradle 快三件事增量构建文件没改过的模块直接跳过不重新编译构建缓存gradle clean之后再 build命中缓存的任务不重跑Daemon 进程JVM 常驻内存不用每次冷启动Maven 每次clean package都是从头跑这是本质差距。1.5 Scope 对照重点Maven scopeGradle 写法说明默认compileimplementation最常用providedcompileOnly库/providedRuntimeWAR不打入包runtimeruntimeOnly如 JDBC 驱动testtestImplementationoptionaltruecompileOnlyannotationProcessor如 Lombok1.6 不用纠结的事Groovy DSL vs Kotlin DSL用 Groovy.gradle文件网上资料多够用Gradle 版本本项目 Java 8 Spring Boot 2.x用 Gradle 7.6.4 稳目录结构src/main/java、src/main/resources完全不用动
第一章:Gradle vs Maven,该知道的差异
1.1 一句话结论Gradle 用代码写配置Maven 用 XML 写配置。Gradle 更快、更简洁代价是刚开始不太顺手。1.2 配置文件对比Maven一个pom.xmlXML只能描述不能写逻辑Gradle两个文件settings.gradle写项目名多模块时列子模块build.gradle主配置替代pom.xml本项目pom.xml有 281 行迁移后build.gradle约 90 行。1.3 直接对照最常见的改法你在 Maven 里写的在 Gradle 里怎么写groupIdcom.own/groupIdgroup com.ownversion1.0/versionversion 1.0packagingwar/packagingplugins { id war }parent spring-boot-starter-parent /parentplugins { id org.springframework.boot version ... }propertiesjava.version1.8/java.versionsourceCompatibility 1.8dependency.../dependencyimplementation ...scopeprovided/scopecompileOnly或providedRuntimescopetest/scopetestImplementationoptionaltrue/optionalcompileOnlyannotationProcessormvn clean package -DskipTestsgradle clean build -x testmvn spring-boot:rungradle bootRun1.4 为什么 Gradle 快三件事增量构建文件没改过的模块直接跳过不重新编译构建缓存gradle clean之后再 build命中缓存的任务不重跑Daemon 进程JVM 常驻内存不用每次冷启动Maven 每次clean package都是从头跑这是本质差距。1.5 Scope 对照重点Maven scopeGradle 写法说明默认compileimplementation最常用providedcompileOnly库/providedRuntimeWAR不打入包runtimeruntimeOnly如 JDBC 驱动testtestImplementationoptionaltruecompileOnlyannotationProcessor如 Lombok1.6 不用纠结的事Groovy DSL vs Kotlin DSL用 Groovy.gradle文件网上资料多够用Gradle 版本本项目 Java 8 Spring Boot 2.x用 Gradle 7.6.4 稳目录结构src/main/java、src/main/resources完全不用动