spring boot单模块项目改造成多模块项目
用idea创建项目,默认是单模块项目的。如果一个项目比较大,包含多个子系统,可能会有一些公共的东西,独立出来,在几个子系统中使用。这时候应该用多模块(Module)项目,所有子系统,以及公共模块,都在一个项目(Project)里面。我昨天就有这么一个需要,有个项目创建之初,只是一个demo,没有考虑这么多,出来就是一个单模块项目。后来合同落地,demo就顺理成章转变成真正的项目。这是一个演化型原型
用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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)