【开发笔记】- IDEA+Gradle+Springboot2.1.5 搭建多模块项目(最详细版)
一,进入新建项目窗口,选择 Spring Initializr ,这是spring官方提供的构建springboot demo的网站 https://start.spring.io,也可直接在此网站上初始化项目后,下载后在导入idea。

二,在Group处填入组织,在Artifact处填入项目名称,然后在type下拉框中选择第三个gradle构建,完成后点击next

三,此时我们先创建一个跟项目,在此处直接点击下一步

四,可以选择自定义项目路径,然后点击finish

五,选择GRADLE_HOME和JAVA_HOME,GRADLE_HOME可以选择默认的wrapper 下载也可自己去Gradle官网下载然后自定义选择。JAVA_HOME你电脑的java环境变量配了的话,这里idea会自动扫描到。选择完成后点击finish。至此我们的跟项目就创建好了。

六,删掉根项目的src目录,开始准备创建模块

七,开始创建一个通用模块core模块,选择file->new->module(注意此时鼠标的位置应该在根项目名上)

八,是不是进入了很熟悉的界面?没错跟之前建根项目一样的操作,写好模块名,选好gradle方式 ,一路下一步吧

九,至此我们的项目结构应该是这样的,然后我们把core模块下红圈圈起来的三个无用文件删除。

十,继续重复上面新建module的操作来创建一个web项目。填好模块名,选好gradle点击下一步(此时注意当模块名用短横连接时,最下面的包名会忽略短横线,这看起来不美观,我们可以改一个简短的)

十一,选择web依赖,在这里勾选 spring web starter (老版本可能是web),spring会把web相关的jar在项目初始化时加入依赖导入。下面有很多其他的依赖可自行尝试,然后一路下一步,模块创建完成后把刚才core模块删除的那三个无用文件也删了。

image
十二,至此项目目录应该是这样的,然后点开setting.gradle 把所有的子模块都include进来,这里include的顺序要注意顺序,被依赖的放在前面,因为gradle打包时是按照顺序依赖的。不然可能会出现有些jar包没打进去

十三,修改根项目的build.gradle配置子项目通用配置

1 plugins { 2 3 id'org.springframework.boot' version'2.1.5.RELEASE' 4 5 id'java' 6 7 } 8 9 repositories { 10 11 mavenCentral() 12 13 } 14 15 subprojects{ 16 17 applyplugin:'java' 18 19 applyplugin:'idea' 20 21 applyplugin:'eclipse' 22 23 applyplugin:'jacoco' 24 25 applyplugin:'org.springframework.boot' 26 27 applyplugin:'io.spring.dependency-management' 28 29 group ='com.example' 30 31 sourceCompatibility =1.8 32 33 targetCompatibility =1.8 34 35 // java编译的时候缺省状态下会因为中文字符而失败 36 37 [compileJava,compileTestJava,javadoc]*.options*.encoding ='UTF-8' 38 39 bootJar { 40 41 enabled =false // 默认不需要打可执行jar包 42 43 } 44 45 repositories { 46 47 mavenCentral() 48 49 maven { url'https://repo.spring.io/milestone' } 50 51 } 52 53 dependencies { 54 55 testCompile('org.springframework.boot:spring-boot-starter-test') 56 57 } 58 59 }
十四,分别修改core模块和admin模块的build.gradle。admin依赖于core
core:

admin:

十五,至此,所有的配置就已经完成了。然后打开gradle管理,删除多余的模块编译,只保留跟项目(即最全的项目),删除core和admin。然后点击刷新按钮刷新gradle。多模块项目就全部完事了

标签:
开发笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!