IDEA 2025.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程
#代码知识 发布时间: 2026-01-12
环境介绍 IDEA

我用的是2025.2
Gradle
安装参考 Gradle安装配置
我这安装的是6.6.1
C:\Users\herion>gradle -v ------------------------------------------------------------ Gradle 6.6.1 ------------------------------------------------------------ Build time: 2025-08-25 16:29:12 UTC Revision: f2d1fb54a951d8b11d25748e4711bec8d128d7e3 Kotlin: 1.3.72 Groovy: 2.5.12 Ant: Apache Ant(TM) version 1.10.8 compiled on May 10 2025 JVM: 1.8.0_211 (Oracle Corporation 25.211-b12) OS: Windows 10 10.0 amd64
创建 gradle-parent New Project --> Spring Initalizr 选择jdk版本,我这里使用1.8
Next
–> 根据需求修改 Group、Artifact、version 、Type、name、package 等,选择所需依赖创建项目
创建成功后删除src 目录
创建子模块 gradle-demo
选中gradle-parent–> new -->Module
创建子模块操作与创建gradle-parent 雷同,这里就不做复述了,创建好gradle-demo后在gradle-parent的settings.gradle 中引入模块依赖 include ‘gradle-demo'
删除gradle-demo 中settings.gradle文件,否则不能喝gradle-parent建立依赖关系
定义gradle 自身所需资源
buildscript {
ext {
springBootVersion = '2.3.4.RELEASE'
springBootManagementVersion = '1.0.8.RELEASE'
springCloudVersion = 'Hoxton.SR6'
REPOSITORY_HOME = "http://maven.aliyun.com"
}
repositories {
maven { url '${REPOSITORY_HOME}/nexus/content/groups/public/' }
mavenCentral()
maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://repo.spring.io/milestone' }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("io.spring.gradle:dependency-management-plugin:${springBootManagementVersion}")
}
}
修改gradle-parent项目build.gradle 配置全项目通用配置
allprojects {
apply plugin: 'java'
apply plugin: 'idea'
group = 'com.herion'
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
子项目通用配置
subprojects {
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
//仓库
repositories {
maven { url '${REPOSITORY_HOME}/nexus/content/groups/public/' }
mavenCentral()
maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://repo.spring.io/milestone' }
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
dependencyManagement {
imports { mavenBom("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") }
imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" }
}
test {
useJUnitPlatform()
}
}
发布插件配置
/**
* 发布插件
*/
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
versionMapping {
usage('java-api') {
fromResolutionOf('runtimeClasspath')
}
usage('java-runtime') {
fromResolutionResult()
}
}
}
}
// 发布仓库
repositories {
maven {
// TODO 换成自己的*地址
def releasesRepoUrl = "http://my.repo.com/nexus/repository/maven-releases"
def snapshotsRepoUrl = "http://my.repo..com/nexus/repository/maven-snapshots"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials {
username nexusUser
password nexusPassword
}
}
}
}
configurations {
[apiElements, runtimeElements].each {
it.outgoing.artifacts.removeIf { it.buildDependencies.getDependencies(null).contains(jar) }
it.outgoing.artifact(bootJar)
}
}
验证
Gradle 查看所有项目
gradle projects > Task :projects ------------------------------------------------------------ Root project ------------------------------------------------------------ Root project 'gradle-parent' +--- Project ':gradle-common' +--- Project ':gradle-demo' \--- Project ':gradle-demo2' To see a list of the tasks of a project, run gradle <project-path>:tasks For example, try running gradle :gradle-common:tasks Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD SUCCESSFUL in 4s 1 actionable task: 1 executed
编译项目
$ gradle build Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD SUCCESSFUL in 5s 12 actionable tasks: 12 up-to-date
执行结果
发布jar包到nexus 命令
$ gradle publishMavenJavaPublicationToMavenRepository > Task :gradle-common:publishMavenJavaPublicationToMavenRepository > Task :gradle-demo:publishMavenJavaPublicationToMavenRepository > Task :gradle-demo2:publishMavenJavaPublicationToMavenRepository Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD SUCCESSFUL in 24s 16 actionable tasks: 13 executed, 3 up-to-date
执行结果
gradle-demo 验证 启动项目
浏览器访问
http://localhost:8080/helllo?name=herion
demo 源码地址
代码知识SEO上一篇 : SpringCloud OpenFeign Post请求400错误解决方案
下一篇 : 浅谈springboot项目中定时任务如何优雅退出
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!