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,修改里面的标签的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、随着项目的变大,这种方式扩展性更好

缺点:

若架构的时候各模块责任划分不清,那么不仅开发成本上升(相比较单一工程来说,这种在不同模块间切换和查找代码都会麻烦点),而且没有相应的优点。


你可能感兴趣的:(JAVA)