Gradle 于 2007 年首次发布,并于 2011 年被 Google 选为 Android 官方构建工具。相较于 XML,其采用 Groovy 语言实现了更简洁的语法,配合增量构建和缓存机制,显著提升了开发与发布阶段的运行效率。
随着云原生和微服务架构的普及,系统通常由多个模块组成,因此掌握这一构建工具尤为重要。本文提供的多模块 Gradle 项目搭建方案,既适用于新建项目,也能支持从 Maven 迁移的场景,帮助开发者快速落地使用。
开发环境
- macOS For Apple Silicon 26.0.1
- IntelliJ IDEA
开发流程
- 创建父子工程目录 父目录为 multi-gradle,两个子目录,一个为购物服务 (shop-service),一个为外卖服务 (takeout-service)。
- 编写父工程构建脚本 (build.gradle)
脚本分为三部分:
- Gradle 构建自身依赖(使用 spring-boot-gradle-plugin)。
- 所有工程的公共配置(包括组名和版本号)。
- 子工程的独立配置(包括 Java 版本、插件和依赖管理)。
- 编写父工程设置脚本 (settings.gradle) 设置了两个子工程,分别是购物和外卖,且子工程名称与子项目目录名完全一致。
- 编写购物服务子工程构建脚本 (shop-service/build.gradle) 添加了 spring-boot-starter-webmvc 等依赖。
- 编写购物服务子工程应用代码 (ShopServiceApplication.java) 编写一个 Spring Boot 启动主方法和一个可响应 hello 方法。
- 同理编写外卖服务子工程的构建脚本和应用代码 (TakeoutServiceApplication.java) 参考上述步骤,根据不同的业务需求编写。
- 编写购物和外卖的应用配置并启动服务 购物服务配置端口号为 8081,应用名为 shop-service。 外卖服务配置端口号为 8080,应用名为 takeout-service。 同时启动两个服务。
运行 gradle build。
配置 Gradle Wrapper。 由于从 Gradle 官网下载较慢,此处通过阿里巴巴开源镜像站加速下载,后续的组件和依赖中均使用了阿里巴巴开源镜像站用于加速,做 gradle build 时即会开始下载。
配置与代码
工程目录结构
multi-gradle/
├── build.gradle # 项目构建脚本(Groovy DSL)
├── settings.gradle # 项目设置文件,定义包含的子模块
├── gradle.properties # 项目级 Gradle 配置属性
├── gradlew # Gradle 包装器脚本(Unix/Linux)
├── gradlew.bat # Gradle 包装器脚本(Windows)
├── gradle/ # 包装器相关文件
│ └── wrapper/
│ └── gradle-wrapper.properties
├── shop-service/ # 子模块 购物
│ ├── build.gradle # 子模块构建脚本
│ └── src/ # 子模块源代码目录
│ ├── main/
│ │ └── com.example.ShopServiceApplication
│ └── test/
└── takeout-service/ # 子模块 外卖
├── build.gradle # 子模块构建脚本
└── src/ # 子模块源代码目录
├── main/
│ └── com.example.TakeoutServiceApplication
└── test/


