前言

首先说一下项目重构的原因:
由于产品代码分支太多,各分支代码都有客户的个性化需求导致代码合并主干困难,无法建立统一完善的代码主干。为解决以上问题决定使用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多模块工程

  1. 创建一个maven工程如图
  2. 删除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 //提交修改的版本号