Gradle 入门教程
FreeGuideOnline
最新
2026-07-14
bash java -version
### 下载与安装
1. 访问 [Gradle 官网下载页](https://gradle.org/releases/) 获取最新发行版。
2. 解压到指定目录,例如 `/opt/gradle`。
3. 设置环境变量:
```bash
export GRADLE_HOME=/opt/gradle
export PATH=$PATH:$GRADLE_HOME/bin
- 验证安装:
gradle -v
使用 Gradle Wrapper
推荐在项目中使用 Wrapper,它能为项目绑定指定的 Gradle 版本,无需手动安装:
gradle wrapper --gradle-version 8.5
生成的 gradlew 和 gradlew.bat 脚本可以自动下载并使用该版本。
第一个 Gradle 项目
初始化项目
在空目录中执行:
gradle init
按提示选择项目类型、语言、构建脚本 DSL 等,快速生成项目骨架。
默认目录结构
大多数 Gradle 项目遵循标准布局:
project/
├── build.gradle # 构建脚本(Groovy DSL)或 build.gradle.kts(Kotlin DSL)
├── settings.gradle # 多项目构建设置
├── gradlew
├── gradlew.bat
├── gradle/
│ └── wrapper/
├── src/
│ ├── main/
│ │ ├── java/
│ │ └── resources/
│ └── test/
│ ├── java/
│ └── resources/
理解构建脚本
build.gradle 基本结构
一个简单的 Java 项目构建脚本如下(Groovy DSL):
plugins {
id 'java'
}
group = 'com.example'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'junit:junit:4.13.2'
}
tasks.named('test') {
useJUnitPlatform()
}
- plugins:声明使用的插件,如
java插件提供编译、测试等标准任务。 - repositories:指定依赖下载的仓库,常用 Maven Central 或自定义私服。
- dependencies:定义项目的依赖坐标,
testImplementation表示仅测试环境使用。 - tasks:可对已有任务进行配置,例如指定测试框架。
Kotlin DSL 示例
plugins {
java
}
group = "com.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation("junit:junit:4.13.2")
}
tasks.test {
useJUnitPlatform()
}
核心概念
任务(Tasks)
任务代表一次构建操作,如编译代码、运行测试、打包 JAR 等。常用命令:
gradle tasks列出所有可用任务gradle build执行完整构建gradle clean清理构建产物
自定义简单任务:
tasks.register('hello') {
doLast {
println 'Hello, Gradle!'
}
}
执行 gradle hello 即可看到输出。
项目与多项目构建
- 项目:代表一个可构建的组件,可以是一个库或应用。
- 根项目:在多项目构建中协调各子项目。
多项目配置在 settings.gradle 中声明:
rootProject.name = 'my-app'
include 'module-a', 'module-b'
然后在子目录中创建各自的 build.gradle。
依赖管理
Gradle 支持配置(configurations)来分组依赖,常见的有:
implementation:编译和运行时依赖api:暴露给消费者的编译依赖(Java Library 插件)testImplementation:仅测试编译和运行时依赖runtimeOnly:仅运行时依赖
高级功能包括传递依赖排除、强制版本等:
dependencies {
implementation('org.springframework:spring-core:5.3.23') {
exclude group: 'commons-logging', module: 'commons-logging'
}
}
插件
插件扩展 Gradle 的能力,Java、Android、Spring Boot 等都有官方插件。应用插件:
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.0'
}
常用命令速查
| 命令 | 说明 |
|---|---|
gradle build |
编译、测试并打包项目 |
gradle clean |
删除构建目录 |
gradle test |
运行所有测试 |
gradle run |
运行应用(需 Application 插件) |
gradle tasks |
列出所有可用任务 |
gradle dependencies |
查看依赖树 |
gradle --refresh-dependencies |
强制刷新依赖缓存 |
gradle wrapper --gradle-version |
更新 Wrapper 指定版本 |
构建缓存与性能优化
Gradle Daemon
自 Gradle 3.0 起默认启用守护进程,避免重复启动 JVM 消耗。可通过 gradle.properties 调整:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
构建缓存
启用本地构建缓存可重用之前任务的输出,加速后续构建:
org.gradle.caching=true
增量构建
Gradle 会自动检测输入输出变化,仅重新执行受影响的任务。尽量让任务明确 inputs 和 outputs 可最大化受益。
常见问题
Q: 如何导入依赖的依赖?
A: Gradle 自动处理传递依赖,使用 dependencies 任务可查看完整依赖树。
Q: 如何将自定义任务添加到构建流程?
A: 使用 dependsOn 关联已有任务:
tasks.named('build') {
dependsOn 'myCustomTask'
}