如何将maven项目划分为多个模块

  

<强>多模块拆分的必要性

  

使用Java技术开发的工程项目,无论是数据处理系统还是Web网站,随着项目的不断发展,需求的不断细化与添加、工程项目中的代码越来越多,包结构也越来越复杂这时候工程的进展就会遇到各种问题:

  

(1)不同方面的代码之间相互耦合,这时候一系统出现问题很难定位到问题的出现原因,即使定位到问题也很难修正问题,可能在修正问题的时候引入更多的问题。

  

(2)多方面的代码集中在一个整体结构中,新入的开发者很难对整体项目有直观的感受,增加了新手介入开发的成本,需要有一个熟悉整个项目的开发者维护整个项目的结构(通常在项目较大且开发时间较长时这是很难做到的)。

  

(3)开发者对自己或者他人负责的代码边界很模糊,这是复杂项目中最容易遇到的,导致的结果就是开发者很容易修改了他人负责的代码且代码负责人还不知道,责任追踪很麻烦。

  

将一个复杂项目拆分成多个模块是解决上述问题的一个重要方法,多模块的划分可以降低代码之间的耦合性(从类级别的耦合提升到jar包级别的耦合),每个模块都可以是自解释的(通过模块名或者模块文档),模块还规范了代码边界的划分,开发者很容易通过模块确定自己所负责的内容。

  

将原来的产品项目拆分为如下3个模块

  
      <李> product-server//所有的业务逻辑李   <李> product-client//对外暴露的接口   <李> product-common//公用的对象李   
  
1,在原有的项目上右击,新的→模块   

如何将maven项目划分为多个模块

  
2,选择Maven选项,原型可以不选择,直接下   

如何将maven项目划分为多个模块

  
3,填写对应的GroupId和ArtifactId即可,一直下,一直到完成   

如何将maven项目划分为多个模块

  
  

如果发现创建好的maven项目不能新增类文件,可以在对应的文件夹上右键,将其添加为源根即可。

     

如何将maven项目划分为多个模块

  
4,查看外层pom文件   

新增完所有的模块之后,在最外层的pom文件会自动将其引入进来
  

  

如何将maven项目划分为多个模块

  
5版本管理   

如何将maven项目划分为多个模块

  

可以在属性中设置版本管理,方便以后升级之后的改动

  
6项目依赖   

在微服务中,当前项目很有可能依赖于其他服务的公用项目,这就需要我们先将其他其他服务的公用项目进行打包,并且先放在我们的maven的本地仓库,这样当前项目才可以进行依赖,打包前,需要在公用的项目中输入如下命令:mvn -Dmaven.test。跳过=true - u全新安装
  

  

(①-Dmaven.test。跳过=true跳过测试用例;②- u为强制刷新;③干净清除原有目标产生的jar包;④安装将其打包放到本地的maven仓库)
  

  

如何将maven项目划分为多个模块

  

打包完成之后想法控制台显示如下:
  

  

如何将maven项目划分为多个模块

  

在本地仓库显示如下:
  

  

如何将maven项目划分为多个模块

  

如何将maven项目划分为多个模块

  
7,修改完项目结构图   

如何将maven项目划分为多个模块

  
8日理解maven命令包,安装、部署的联系与区别   

mvn清洁包依次执行了清洁、资源、编译、testResources, testCompile,测试,jar(打包)等7个阶段。

如何将maven项目划分为多个模块