maven构建多模块项目

一、多模块项目简介

所有用mavan管理的真实项目都应该是分模块的,每个模块对应着一个pom.xml,他们之间继承和聚合互相关联。划分模块后,导入Eclipse变成了n个项目,这会带来复杂度,给开发带来不便,那为什么还要用呢?原因有以下几点:
1、方便重用,如app-util这些模块可以渐渐进化成一个基础公共类,供所有项目使用,这是模块化最重要的一个目的。
2、由于你划分了模块,每个模块的配置都在各自的pom.xml,不用再到一个纷繁复杂的pom中寻找自己的配置。
3、如果你只是在app-util上工作,你不需要build整个项目,只要在app-util目录运行mvn命令即可,这样可以节省时间,尤其是当项目很庞大,build越来越耗时的时候。
4、某些模块,如app-util被所有人依赖,但你不想给所有人修改,你完全可以把app-util拿出来做成另一个项目,只提供jar包,没有修改权限。

二、多模块项目的结构

一个简单的Maven模块结构是这样的:
 
---- app-parent
             |-- pom.xml (pom)
             |
             |-- app-util
             |        |-- pom.xml (jar)
             |
             |-- app-dao
             |        |-- pom.xml (jar)
             |
             |-- app-core
             |        |-- pom.xml (jar)
             |
             |-- app-web
                      |-- pom.xml (war)  

上述简单示意图中,有一个父项目(app-parent)聚合很多子项目(app-util, app-dao, app-core, app-web)。每个项目,不管是父子,都含有一个pom.xml文件。而且要注意的是,小括号中标出了每个项目的打包类型。父项目是pom,也只能是pom。子项目有jar,或者war。根据它包含的内容具体考虑。

三、Eclipse上创建多模块工程的步骤

我们看下在eclipse创建多模块项目的步骤:
1、首先创建一个父项目
new->project->maven->maven project,点击下一步,选择maven-archetype-site-simple,如下

再点击下一步,在groupid和artifactid中输入值,一般groupid指的是项目组织,举例比如奇虎公司,就是com.qihoo, ArtifactID就是项目的唯一的标识符,实际对应项目的名称,这里我们的项目名称叫做app。

选择完成,这时会在eclipse中生成一个项目。
2、接着创建子项目
将项目app中的src文件删除,父项目最主要的功能是管理其他子项目,本身并不用写代码,所以只保留一个pom.xml 就可以了。
选中项目app,点击右键,选择new->project->maven->maven module,填写module name(比如app-util、app-core、app-dao、app-web)点击下一步, 这时选择maven-Archetype-site-quickStart( 构建app-util、app-core、app-dao时使用 )或者maven-Archetype-webapp(构建app-web层时使用),然后选择完成。


创建后的效果

3、最后设置依赖关系
这里app-web依赖app-core、app-util,app-core依赖app-util、app-dao,注意:依赖具有传递性,依赖关系在pom.xml 设置方法如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值