搭建maven父子工程(父控制器管理子模块)

  • 前言

项目模块化

按照以往的创建项目方式,一个maven项目就是一个大工程,一开始还能进行简单的测试编译,但是随着项目的不断变大和复杂化,后期再做改动则可能牵一发而动全身。但是使用父子工程,每个模块都是独立的,他们通过父控制器聚合在一起,这样当你要改动一个模块的时候你改动的也只是这一个模块而已,并不会影响其他的模块。

去除重复 
一个项目存在多个模块,可能同时由多个人开发,比如abc3个模块,3个模块都是基于spring的那么3个开发都需要引入spring的核心jar包,这样就引入了3份,但是使用父子工程,则只需要在父工程中引入了,则子工程自动继承。

便于项目管理

父子工程统一管理通用的jar包,子工程通用方法等。

 

创建父工程

  1. 打开eclipse,右键new->project,找到maven,选择maven Project点击next。

搭建maven父子工程(父控制器管理子模块)搭建maven父子工程(父控制器管理子模块)

2. 勾选创建一个简易工程Create a simple project 

搭建maven父子工程(父控制器管理子模块)

3. 填写组名跟项目名,注意packaging一定要选择pom!!

搭建maven父子工程(父控制器管理子模块)

4. 父控制器创建好之后,删除自动生成的src文件夹 

搭建maven父子工程(父控制器管理子模块)

至此,父控制器就创建好了,让我们来看一下父控制器的pom.xml 
搭建maven父子工程(父控制器管理子模块)
只有一些简单的控制器的坐标信息以及打包方式。我们接着往下操作。

 

创建子模块

  1. 选中刚刚创建的maven项目右键->maven->New Maven Module Project 
    搭建maven父子工程(父控制器管理子模块)
  2. Module Name填写自己的子项目名,点击next 
    搭建maven父子工程(父控制器管理子模块)
  3. 一般的jar工程选择maven-archetype-quickstart模板,web工程选择maven-archetype-webapp模板。选完之后next 
    搭建maven父子工程(父控制器管理子模块)
  4. Package里是系统默认生成的包,建议改成自己的包名,修改完点finish。 
    搭建maven父子工程(父控制器管理子模块)

这样就创建好了一个子模块,如果要创建多个子模块重复上面的步骤即可。 
这里我创建了3个jar工程1个web工程。如图 
搭建maven父子工程(父控制器管理子模块) 
其中maven-web为web工程,可以发布到tomcat上进行部署启动。maven的父子工程也就创建完毕了。

此时我们可以再来看看父控制器的pom.xml发生了什么变化 
搭建maven父子工程(父控制器管理子模块)
我们发现父控制器的pom.xml中多出了modules标签。里面的各个module就是你所创建的子模块。就是这段modules标签,将各个子模块聚合到一起使之成为一个完整的大工程。

 

关于maven跨项目访问内容,请访问我的下一篇blog。文章有很多不足之处,希望大家多多指出。