如何创建一个SpringBoot多模块项目
创建主模块rail-plate-line
1、点击Create New Project --> 选择Spring Initializr -- > 选择本地jdk

2、Group为com.dingcheng365,Artifact为rail-plate-line,点击next

3、不选择任何依赖,直接点击next

4、 设置Project name为rail-plate-line(默认的也是),项目放在D:\Projects\IDEAWorkSpace下,点击finish,创建完成。

项目结构:

这里删除不需要的文件,只留.idea文件夹、pom.xml和rail-plate-line.xml
删除完毕之后的项目结构:

创建子项目rpl-web
1、 在主项目rail-plate-line右键,依次选择New --> Module

2、 同样选择Spring Initializr,SDK使用主项目的SDK就可以,点击next

3、 设置Group为com.dingcheng365,Artifact为rpl-web,Package为com.dingcheng365.rpl
由于这个子项目是启动项目,所以命名的时候才使用根目录命名。点击next

4、 添加web --> Spring Web Starter依赖,点击next

5、 保持默认即可,点击finish,子项目创建成功。

Ctrl + s或者刷新项目后,会出现.iml文件,此时的项目结构:

6、 删除文件,rpl-web子项目仅保留src文件夹、pom.xml、rpl-web.iml文件,删除后的项目结构:

7、 修改pom.xml
修改rail-plate-line(主项目)下的pom.xml,添加<modules>,将新创建的rpl-web添加进去。即添加:
<modules>
<module>rpl-web</module>
</modules>
在子项目的pom.xml中找到<parent>标签,复制主项目pom.xml中的groupId、artifactId、version到子项目的<parent>标签,覆盖相同的属性:


覆盖之前的子项目的parent标签:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
覆盖之后的parent标签:
<parent>
<groupId>com.dingcheng365</groupId>
<artifactId>rail-plate-line</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
点击Import Changes。
使用同样的方法创建其余两个子项目rpl-sys、rpl-core,唯一不同的地方在于第三步设置Package的时候分别为com.dingcheng365.rpl.sys和com.dingcheng365.rpl.core。而且这两个子项目不需要添加web依赖。
创建完毕后的项目结构:

子项目中src\main\resources下的application.properties和src\main\java下的SpringBoot启动类Application.java保留web子项目的就可以,其他两个项目都需要删除。
rpl-web子项目中需要使用rpl-core和rpl-sys项目中的类和方法,需要在rpl-web子项目中的pom.xml中添加两个子项目的引用。添加:
<dependency>
<groupId>com.dingcheng365</groupId>
<artifactId>rpl-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.dingcheng365</groupId>
<artifactId>rpl-sys</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
中间的三个属性可以到另外两个子项目的pom.xml中复制。
至此,项目创建完成!!
如何创建一个SpringBoot多模块项目的更多相关文章
- Idea创建一个springboot多模块项目
一.创建空Maven项目 二.左边选择maven,右边可以什么不选,直接next: 三.填写artifactId,点击next直到finish 四.finish后,idea会生成如下结果模块,删除sr ...
- Idea创建一个Springboot单模块项目
1.打开IDEA,创建新项目,选择Spring Initializr,选择SDK为你的java版本. 2.点击下一步,输入Artifact 3.点击下一步,选择web 4.finish 5.完成后id ...
- spting Boot 创建一个springBoot项目
spting Boot 创建一个springBoot项目 1)学习springBoot使用软件:IDEA软件(前面的文章有安装idea的过程). 也可以使用另一种方法在https://start.sp ...
- 使用IDEA创建一个springboot项目
工欲善其事,必先利其器. 不难发现,还是有很多小朋友在使用eclipse开发java项目.当你接触IDEA后,一切都变得美好了. 使用IDEA创建一个springboot项目是一件极其简单的事情.界面 ...
- 如何使用IDEA快速创建一个springboot项目
如何使用IDEA快速创建一个springboot项目 https://jingyan.baidu.com/article/0964eca24fdd938284f53640.html
- 2 springboot多模块项目
一般来说创建一个springboot工程基本就可以了,但是有的时候可能需要将业务模块逻辑划分,每块业务模块都是一个工程,下边演示下多模块进行开发 目录结构 ...somefun ......somef ...
- 使用IDEA构建Spring-boot多模块项目配置流程
使用IDEA构建Spring-boot多模块项目配置流程 1.创建项目 点击Create New Project 在左侧选中Spring Initializer,保持默认配置,点击下一步. 在Grou ...
- SpringBoot2.x入门:快速创建一个SpringBoot应用
前提 这篇文章是<SpringBoot2.x入门>专辑的第2篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 常规的套路会建议使用Spring官方提 ...
- 简单创建一个SpringCloud2021.0.3项目(四)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...
随机推荐
- Mysql基本用法-01
#登录数据库 mysql -hlocalhost -uroot -p; #修改密码 mysqladmin -uroot -pold password new; #显示数据库 show database ...
- 吴裕雄--天生自然TensorFlow2教程:误差计算
import tensorflow as tf y = tf.constant([1, 2, 3, 0, 2]) y = tf.one_hot(y, depth=4) # max_label=3种 y ...
- windows下 DEV-C++无法连接到pthread.h的解决办法
参考的这个博文,原博文有图片:http://lslin.iteye.com/blog/776325 (我只是为了方便写.copy一遍) dev-C++编写C/C++程序时,非常方便轻巧,但是今天学习多 ...
- 计划任务之一次性计划任务(at)和周期性计划任务(crontab)(重点)
一:知识要点 ----计划任务的意义----计划任务分类----用户计划任务crontab----系统计划任务----计划任务使用注意事项----anacron服务介绍 二:计划任务的意义计划任务 - ...
- [Qt5] 使用Qt设计器绘制主窗口
实践代码: git clone https://github.com/dilexliu/learn_qt5.git Step1: Qt设计器绘制窗口 保存会得到一个文件: mainwindow.ui ...
- SRS命令
下载源码: git clone https://github.com/ossrs/srs.git 编译: cd srs/trunk ./configure && make 开启服务: ...
- CS231n -Assignments 1 Q1 and Q2
前言 最近在youtube 上学习CS231n的课程,并尝试完成Assgnments,收获很多,这里记录下过程和结果以及过程中遇到的问题,我并不是只是完成需要补充的代码段,对于自己不熟悉的没用过的库函 ...
- BZOJ 4166: 月宫的符卡序列
如果使用回文树,节点 \(u\) 的回文串和 \(fail_u\) 的回文串中心不一样,因为回文树的 \(fail\) 指针指向的是最长回文后缀,没法快速解决异或和 考虑魔改回文树,用马拉车来解决,扩 ...
- C# 增加时间的三个方法
第一个是使用方法形式的实例方法: incrementer.CountedADozen += IncrementDozensCount; //方法引用形式 第二个是使用方法形式的静态方法: incre ...
- 新闻网大数据实时分析可视化系统项目——4、Zookeeper分布式集群部署
ZooKeeper 是一个针对大型分布式系统的可靠协调系统:它提供的功能包括:配置维护.名字服务.分布式同步.组服务等: 它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的 ...