用idea创建项目,默认是单模块项目的。如果一个项目比较大,包含多个子系统,可能会有一些公共的东西,独立出来,在几个子系统中使用。这时候应该用多模块(Module)项目,所有子系统,以及公共模块,都在一个项目(Project)里面。

我昨天就有这么一个需要,有个项目创建之初,只是一个demo,没有考虑这么多,出来就是一个单模块项目。后来合同落地,demo就顺理成章转变成真正的项目。这是一个演化型原型。考虑到以后可能会有扩展,所以应该改造成多模块项目。这种工作早做早超生,所以趁现在代码还不多,动手改造。整个过程下来,还是走了不少弯路,费了一些功夫。其实最省事的做法,就是项目创建之初就按照多模块项目来规划、建造。

我没有找到省事、轻便的改造方法。改造过程记录如下:

一、创建一个空项目,作为总的项目

然后删掉一些在本系统里没必要的东西,只剩下:pom.xml,*.iml,.idea。

参考文章:
SpringBoot - 多模块项目的搭建教程(附详细过程样例)

二、添加模块(Module)

其实就是要将现有的项目当成模块添加进去。首先也是添加一个空的模块。注意我们做的是一个WEB项目,需要选 Spring Initializr 支持。

创建之后,将原项目的src拷贝回来,覆盖。

覆盖之后,应当修改包路径。比如原项目的包路径:com.abc.prj,假设com.abc.prj是总项目的包名,原项目包名要改成 com.abc.prj.prj-web,那这里就要做相应修改。我用了最笨的字符替换。同时记得文件夹也要做相关调整。

三、修改总项目与模块的pom.xml

具体可参考拙作 spring boot多模块项目中的pom.xml

spring boot单模块项目改造成多模块项目相关推荐

  1. Spring Boot由jar包转成war包

    Spring Boot由jar包转成war包 spring boot 默认是以jar包形式启动web程序,在新建spring boot项目时候可以选择war包的启动方式. 建议在开发的时候建立以jar ...

  2. Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目

    项目介绍 Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台 基于 Layui 的后台管理系统模板,扩展 Layui 原生 U ...

  3. InfoQ就Spring Boot 2.0 GA版发布采访了项目牵头人Phil Webb

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 广受期待的Spring Boot 2.0近期由Spring的托管企业Pivotal发布.这是 ...

  4. 阿里P8架构师王福强大牛,[Spring boot揭秘]引领程序员成神之路

    前言: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...

  5. spring boot web_SpringBoot2.x入门:引入web模块

    前提 这篇文章是<SpringBoot2.x入门>专辑的「第3篇」文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 主要介绍SpringBoot的we ...

  6. 阿里微服务专家自己手写Spring Boot 实现一个简单的自动配置模块

    为了更好的理解 Spring Boot 的 自动配置和工作原理,我们自己来实现一个简单的自动配置模块. 假设,现在项目需要一个功能,需要自动记录项目发布者的相关信息,我们如何通过 Spring Boo ...

  7. micrometer_具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目

    micrometer 对于那些关注此博客的人来说,难怪我会经常使用InfluxDB. 我喜欢这样一个事实,它是一个真正的单一用途的数据库(时间序列),具有许多功能,并且还带有企业支持. Spring也 ...

  8. 具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目

    对于那些关注此博客的人来说,难怪我倾向于大量使用InfluxDB. 我喜欢这样一个事实,它是一个真正的单一用途的数据库(时间序列),具有许多功能,并且还带有企业支持. Spring也是我选择的工具之一 ...

  9. Spring Boot入门(15):Spring Boot 整合 MyBatis-Plus AutoGenerator代码生成器实现自动生成项目骨架代码 | 超级详细,建议收藏

    1. 写在前面

最新文章

  1. 使用Rancher管理Docker
  2. 访问控制列表(ACL)基本的配置以及详细讲解
  3. 一训练就显存爆炸?Facebook 推出 8 比特优化器,两行代码拯救你的显存
  4. 【杂谈】循序渐进,有三AI不得不看的技术综述(超过100篇核心干货)
  5. 消费类电子认证测试资料清单
  6. 缺陷调研报告_工厂的缺陷的分析报告及产生原因
  7. OpenShift Redhat的使用和介绍
  8. No project is easy, am I right?
  9. extend 和 append 的区别
  10. 删除计算机中的云u盘,win10系统删除360云u盘图标的方法
  11. 重庆大学软件工程导论总结
  12. 天涯明月刀手游服务器维护到几点,天涯明月刀手游11月11日服务器维护更新公告...
  13. 无法绑定由多个部分组成的标识符 yvi312082007@163.com。
  14. top20万_美国top20大学博士,回国进腾讯后感叹:月入6万憋屈,后悔回国了
  15. html页面背景图片,css如何设置背景图片?
  16. Python 使用企业邮箱发邮件被识别为外部邮箱的问题及解决方案
  17. 一步一步建立自己的神经网络
  18. 【Vulnhub靶场】Earth
  19. 动态毛玻璃特效html,实现div毛玻璃背景
  20. 计划任务备份MSSQL_se7en3_新浪博客

热门文章

  1. 谷歌chrome浏览器设置成深色(dark)模式
  2. python思想读后感_数据结构与算法:Python语言描述读后感1000字
  3. PMS系列1⃣️——PMS的创建
  4. 使用Altium Designer 20绘制双层板以及四层板
  5. 关于学Linux的时候安装vmtools时遇到的坑
  6. RSA的1024位是指公钥及私钥分别是1024bit,也就是1024/8=128 Bytes
  7. Oracle的介绍和概念
  8. 小红书点赞收藏有什么用_小红书怎么增加点赞和收藏数量?平台刷有什么用?快速上热门么?...
  9. 北京某平台二手房分析
  10. 输出杨辉三角形的前n行