前言
首先说一下项目重构的原因:
由于产品代码分支太多,各分支代码都有客户的个性化需求导致代码合并主干困难,无法建立统一完善的代码主干。为解决以上问题决定使用maven多模块模式重构代码,个性化需求使用子模块区分,打包时根据项目需要打包对应的模块。
工具
我使用的是Intellij Idea
多模块结构设计
Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。
拆分为6个模块
- controller 视图层模块
1.暴露对外接口 2.参数校验处理 3.业务流分发 - service 业务逻辑模块
1.处理基本的业务逻辑2.调用数据层和密码机接口3.定时任务处理 - dao 数据处理模块
1.数据库交互、sql 2.redis、ehcache缓存逻辑 - thrift 算法库模块
1.封装密码机接口 2.白盒算法封装 - common 公共模块
1.公共类封装 2.基本工具类 - api 内部接口模块
提供service\dao\thrift 内部接口定义
模块架构(模块依赖)
- 视图层模块依赖内部接口模块
- 业务模块和数据模块内部接口实现,依赖内部接口模块
- 所有模块都依赖公共模块
- 打包指定所依赖的模块打包,没有依赖无需打包
创建Maven多模块工程
- 创建一个maven工程如图
- 删除src目录,只保留pom.xml文件作为父模块,引用项目依赖的第三方包和打包相关插件、编译目录
在这里插入代码片
。。。。。。。未完待续。。。。。。。。。
用到的Maven命令
• mvn clean package -pl module目录 -am -Pdev -DskipTests
//-pl 只编译指定module 节省时间 -am 指定module依赖的模块也编译• mvn clean install //安装jar包到本地仓库
• mvn deploy //deploy jar包到远程仓库
• mvn versions:set -DnewVersion=2.50.1-SNAPSHOT //修改所有模块版本号
• mvn versions:commit //提交修改的版本号