MAVEN创建多模块项目(水平与树形结构)
Posted shu_lin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MAVEN创建多模块项目(水平与树形结构)相关的知识,希望对你有一定的参考价值。
很久没有写过博客了,很多东西都在笔记里面,没有整理过。不太喜欢写没有经过自己消化和整理的知识,如果自己都没有搞明白,那还是不要写的好,免得误导其他同学。
这次写的内容主要就是使用MAVEN创建多模块的web项目,之前写过一个SSM整合的博客,也是MAVEN创建的WEB项目,里面的web/dao/service层使用的是package来隔离的,而企业级开发一般不是这么做的,我们会将不同职能的模块使用Maven里面的module来进行划分,从而每个模块都可以单独打出一个Jar包或者war包,可以自己使用,也可以提供出去。
Maven可以创建两种结构的多模块项目,一个是水平结构,一个是树形结构,下面看图了解它们的区别:
Storm项目就是树形结构,而winter项目就是水平结构,那么它们的区别在哪里呢?其实就创建过程来说,没有什么区别,就是module的路径修改一下就可以互相转化了。不过,就体验来说,个人觉得水平的更好,看起来更加的舒服一点。下面就来说一下如何创建这样的一个工程,看完就会发现过程很简单,知道这种模式就是打开了一个思路,并不是有多难。
本实验环境:
idea14
JDK7
maven3.2.1
具体步骤:
1、首先创建一个父项目
File->new-->project,选择Maven,建立一个最普通的maven项目,生成的src根据需要保留,我这里是删掉了。注意:创建完成后需要检查pom.xml,修改里面的<packaging>标签的value为pom
2、右键创建好的winter父项目-->new-->module-->maven,这里的创建过程就和上面的类似了,不过可以使用maven的archetype来创建,这样就可以产生一个基本的maven项目结构,便于快速进入开发。(关于这个archetype我会再写一个博客说一下,其中创建的时候还有坑...有时候会由于网速问题卡在一个地方不动弹...这里就不啰嗦了。)
下面这幅图的创建路径需要注意一下,这里就是关系到了多模块MAVEN项目结构的关键所在。如果这里使用默认的地址,那么产生的就是树形结构的项目,如果将地址修改一下,module模块与winter模块放在一级目录上就是水平结构了。
树形结构:
/winter
/winter/winter.biz
/winter/winter.dal
水平结构:
/winter
/winter.biz
/winter.dal
3、根据自己的需要和项目架构,创建定义的模块吧!!!!
优点:
a、模块隔离清晰
b、不同模块可以单独打包,灵活部署
c、随着项目的变大,这种方式扩展性更好
缺点:
若架构的时候各模块责任划分不清,那么不仅开发成本上升(相比较单一工程来说,这种在不同模块间切换和查找代码都会麻烦点),而且没有相应的优点。
以上是关于MAVEN创建多模块项目(水平与树形结构)的主要内容,如果未能解决你的问题,请参考以下文章