Maven学习 (六) 搭建多模块企业级项目

Maven学习 (六) 搭建多模块企业级项目


首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目。

好了,废话不多说,具体如下:

首先新建一个maven项目,pom.xml的文件如下:

搭建多模块项目,必须要有一个packaging为pom的根目录。创建好这个maven项目后,我们对着项目右键–>new

输入你的项目名称

这里就不重复说创建项目了,创建好的目录结构在eclipse中如下:

说明一下这些项目具体都是干嘛的:

easyframework-model:数据模型,与数据库表字段对应的实体类

easyframework-core:核心业务项目。主要是Service处理业务逻辑

easyframework-persist:数据持久层,操作低层数据库。

easyframework-utils:工具类,所有工具类都提取出来写在这个项目中。

easyframework-web :这个就是整个项目的web层了,页面的显示以及控制层

备注:创建这些项目的时候,只有easyframework-web是web项目即maven的:maven-archetype-webapp,其他的都是java项目:maven-archetype-quicktart

打开easyframework-root的pom.xml文件,你会看到模块化是这样的:

接下来是配置各个模块的依赖关系,我个人认为的项目是这样依赖的,不知道对不对,呵呵….

举个例子easyframework-web这个项目依赖easyframework-core(业务核心)和easyframework-model(实体类),easyframework-utils(公共的工具类)这个三个模块。

那么在怎么在easyframework-web的pom.xml中体现呢,具体如下:

 

打开项目的maven依赖你会发现,已经依赖了这三个项目

但是你应该会感觉到奇怪,为什么会有那么jar包,明明只引用了这三个项目,哪来的那么多jar包。

你会发现,我再pom.xml文件中,有个parent节点,继承了根节点的pom,这就是maven的项目继承依赖,会从父POM中继承一些值。这对构建一个大型的系统来说很有必要

这样的话你就不需要一遍又一遍的重复添加同样的依赖元素,当然,如果你在子项目中也有同样的依赖,则会覆盖父POM中的值。

父POM的的依赖如下:

  1 
  3     4.0.0
  4     com.easyframework
  5     easyframework-root
  6     pom
  7     1.0
  8     easyframework-root
  9     http://maven.apache.org
 10     
 11         easyframework-web
 12         easyframework-persist
 13         easyframework-core
 14         easyframework-utils
 15         easyframework-model
 16     
 17     
 18         
 19         UTF-8
 20         
 21         UTF-8
 22         5.1.25
 23         4.2.2.Final
 24         3.2.3.RELEASE
 25         1.7.2
 26     
 27     
 28         
 29             springsource-repo
 30             SpringSource Repository
 31             http://repo.springsource.org/release
 32         
 33     
 34     
 35     
 36         
 37         
 38             log4j
 39             log4j
 40             1.2.17
 41         
 42         
 43         
 44             junit
 45             junit
 46             4.11
 47             test
 48         
 49         
 50         
 51             mysql
 52             mysql-connector-java
 53             ${mysql.version}
 54         
 55         
 56         
 57             org.hibernate
 58             hibernate-core
 59             ${hibernate.version}
 60         
 61         
 62         
 63             org.aspectj
 64             aspectjweaver
 65             ${aspectj.version}
 66         
 67         
 68         
 69             org.springframework
 70             spring-core
 71             ${spring.version}
 72         
 73         
 74             org.springframework
 75             spring-context
 76             ${spring.version}
 77         
 78         
 79             org.springframework
 80             spring-jdbc
 81             ${spring.version}
 82         
 83         
 84             org.springframework
 85             spring-beans
 86             ${spring.version}
 87         
 88         
 89             org.springframework
 90             spring-web
 91             ${spring.version}
 92         
 93         
 94             org.springframework
 95             spring-expression
 96             ${spring.version}
 97         
 98         
 99             org.springframework
100             spring-orm
101             ${spring.version}
102         
103     
104     
105         easyframework-root
106         
107             
108                 maven-compiler-plugin
109                 
110                     1.6
111                     1.6
112                 
113             
114         
115     
116 

当然这个父POM只是一个例子,你可以根据自己的配置添加相关的依赖,这里给一个我认为是最好用的仓库:

http://mvnrepository.com/ 相信地球人都知道这个!哈哈…..

到此就搭建好了企业级多模块的项目环境了。

你可能感兴趣的:(maven)