第八章:多模块配置 单模块项目可以跳过本章。8.1 Maven vs Gradle 多模块核心区别MavenGradle模块列表写在哪父 pom 的modulessettings.gradle的include子模块引父模块parent标签不需要自动继承共享配置父 pom 的dependencyManagement根目录build.gradle的subprojects { }8.2 settings.gradle根目录rootProject.namelive// 声明所有子模块等效 Maven 父 pom 的 modulesincludelive-common,live-service,live-web8.3 根目录 build.gradle共享配置// 版本号统一管理ext{mybatisPlusVersion3.1.2lombokVersion1.18.6shiroVersion1.4.0}// subprojects对所有子模块生效相当于 Maven 父 pom 的公共配置subprojects{apply plugin:javaapply plugin:io.spring.dependency-managementsourceCompatibility1.8repositories{maven{urlhttps://maven.aliyun.com/repository/public}mavenCentral()}// 编码配置tasks.withType(JavaCompile).configureEach{options.encodingUTF-8}dependencyManagement{imports{mavenBomorg.springframework.boot:spring-boot-dependencies:2.0.5.RELEASE}}}8.4 子模块 build.gradle子模块只写自己特有的东西公共配置由根目录提供// live-common/build.gradledependencies{implementationorg.springframework.boot:spring-boot-startercompileOnlyorg.projectlombok:lombok:${lombokVersion}// 版本从根目录 ext 取annotationProcessororg.projectlombok:lombok:${lombokVersion}}// live-web/build.gradleWAR 模块plugins{idorg.springframework.bootversion2.0.5.RELEASEidwar}dependencies{// 引用同项目的其他模块等效 Maven 的 dependency 引用同项目模块implementationproject(:live-common)implementationproject(:live-service)implementationorg.springframework.boot:spring-boot-starter-webprovidedRuntimeorg.springframework.boot:spring-boot-starter-tomcat}bootWar{archiveFileNamelive.war}8.5 多模块常用命令# 构建所有模块gradle build# 只构建某个模块gradle :live-web:build# 查看所有子项目gradle projects# 查看某个子模块的依赖gradle :live-common:dependencies➡️ 下一章本项目完整迁移