如何创建一个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 ...
随机推荐
- Tesseract-OCR 4.1.0 安装和使用— windows及CentOS
OCR(Optical character recognition) —— 光学文字识别,是图像处理的一个重要分支,中文的识别具有一定挑战性,特别是手写体和草书的识别,是重要和热门的科学研究方向 截止 ...
- 在iOS项目中,这样才能完美的修改项目名称
https://www.cnblogs.com/liangyi-cn/p/8657474.html 前言: 在iOS开发中,有时候想改一下项目的名字,这会遇到很多麻烦. 直接改项目名的话,Xcode不 ...
- Linux下杀掉所有得java进程
--转自https://blog.csdn.net/oppo62258801/article/details/81434038 1.Linux查看所有Java进程 ps -ef | grep java ...
- Linux centos VMware Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理
一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|x ...
- Js为Dom元素绑定事件须知
为异步加载的Dom 元素绑定事件必须在加载完成之后绑定: $('body').load('LearnClickBinding.ashx');$('a').click(function () { ale ...
- Genymotion连接失败问题
adb启动问题:Invalid argument: cannot open transport registration socketpair could not read ok from ADB S ...
- PaperReading20200219
CanChen ggchen@mail.ustc.edu.cn This is my first day sharing my reading paper and I will try to para ...
- layer 点击yes后在回调函数里获取layer.open({})iframe里面元素
参考:http://fly.layui.com/jie/19690/ yes: function(index, layero) { uid.value = $(layero).find('iframe ...
- main.js index.html与app.vue三者关系详解
main.js index.html与app.vue三者关系详解 2019年01月23日 11:12:15 Pecodo 阅读数 186 main.js与index.html是nodejs的项目启 ...
- JS链接转换为二维码
这里用到一个JQ插件 qrcode.js 下载地址https://github.com/jeromeetienne/jquery-qrcode 先引入 <script src="j ...