Gradle 使用两个主要目录来执行和管理其工作:Gradle 用户主目录项目根目录

作者等级 2

Gradle 用户主目录

默认情况下,Gradle 用户主页(~/.gradleC:\Users\<USERNAME>\.gradle)存储全局配置属性、初始化脚本、缓存和日志文件。

可以通过环境变量来设置GRADLE_USER_HOME

GRADLE_HOME不要与Gradle 的可选安装目录 混淆。

其结构大致如下:

├── caches                  (1)
│   ├── 4.8                     (2)
│   ├── 4.9                     (2)
│   ├── ⋮
│   ├── jars-3                  (3)
│   └── modules-2               (3)
├── daemon (4)
│   ├── ⋮
│   ├── 4.8
│   └── 4.9
├── init.d                  (5)
│   └── my-setup.gradle
├── jdks                    (6)
│   ├── ⋮
│   └── jdk-14.0.2+12
├── wrapper
│   └── dists                   (7)
│       ├── ⋮
│       ├── gradle-4.8-bin
│       ├── gradle-4.9-all
│       └── gradle-4.9-bin
└── gradle.properties       (8)
1 全局缓存目录(用于所有非项目特定的内容)。
2 版本特定的缓存(例如,支持增量构建)。
3 共享缓存(例如,用于依赖项的工件)。
4 Gradle Daemon的注册表和日志。
5 全局初始化脚本
6 通过工具链支持下载的 JDK 。
7 Gradle Wrapper下载的发行版。
8 全局Gradle 配置属性

请参阅Gradle 目录参考以了解更多信息。

项目根目录

项目根目录包含项目中的所有源文件。

它还包含 Gradle 生成的文件和目录,例如.gradlebuild

虽然.gradle通常会签入源代码管理,但该build目录包含构建的输出以及 Gradle 用于支持增量构建等功能的临时文件。

典型项目根目录的剖析如下:

├── .gradle                 (1)
│   ├── 4.8                     (2)
│   ├── 4.9                     (2)
│   └── ⋮
├── build                   (3)
├── gradle
│   └── wrapper                 (4)
├── gradle.properties       (5)
├── gradlew                 (6)
├── gradlew.bat             (6)
├── settings.gradle.kts     (7)
├── subproject-one          (8)
|   └── build.gradle.kts        (9)
├── subproject-two          (8)
|   └── build.gradle.kts        (9)
└── ⋮
1 Gradle 生成的项目特定的缓存目录。
2 版本特定的缓存(例如,支持增量构建)。
3 该项目的构建目录,Gradle 在其中生成所有构建工件。
4 包含Gradle Wrapper的 JAR 文件和配置。
5 项目特定的Gradle 配置属性
6 使用Gradle Wrapper执行构建的脚本。
7 定义子项目列表的项目设置文件。
8 通常,一个项目被组织成一个或多个子项目。
9 每个子项目都有自己的 Gradle 构建脚本。

请参阅Gradle 目录参考以了解更多信息。