maven项目-多模块
- 1、maven项目模块介绍
- 1.1 各个模块作用
- 1.2 maven项目划分为多模块的好处:
- 2、各个模块的创建
- 2.1 maven-parent
- 2.2 maven-dao
- 2.3 maven-service
- 2.4 maven-controller
- 3、maven模块之间的依赖
- 拓展
1、maven项目模块介绍
maven项目多模块是用项目层次的划分替代了简单的包层次的划分; 遵循了一个设计模式原则——“高内聚,低耦合”;
maven-parent:
|-- pom.xml (pom)
|
|-- maven-dao
| |-- pom.xml (jar)
|
|-- maven-service
| |-- pom.xml (jar)
|
|-- maven-controller
|-- pom.xml (war)
1.1 各个模块作用
maven-parent模块,是整个项目的基模块,即parent;
maven-dao模块,数据库的访问层(如jdbc操作);(打包类型为jar)
maven-service模块,项目的业务逻辑层;(打包类型为jar)
maven-controller,用于接受请求并响应;(打包类型为jar)
各个模块间的练习是:一个父模块(parent)聚合了几个子模块(maven-dao,maven-service,maven-controller);父模块有一个pom.xml文件,各个子模块也都有一个pom.xml文件。
1.2 maven项目划分为多模块的好处:
详情参考:Maven最佳实践:划分模块
1、更加便于代码重用;
2、每个模块的配置都在各自的pom.xml里,不必把所有的配置都放在总的POM中了;
3、当只在其中一个子模块上工作时,只需要build当前模块即可,不必build整个项目,节省了时间;
2、各个模块的创建
2.1 maven-parent
File—new—Project—maven—Create from archetype(此部分不需要选择)— 照常;
配置pom.xml文件:
1、将pom.xml文件中依赖的jdk版本改为1.8;
2、将文件中的Junit(用于单元测试)版本改为4.12
3、将文件中的<build></build>
标签中的多余的配置删除;
PS:子模块需要在maven-parent的文件夹下创建;
2.2 maven-dao
右键maven-parent—Module—Maven—Create from archetype(选择maven-archetype-quickstart)—照常;
配置pom.xml文件:
1、将pom.xml文件中依赖的jdk版本改为1.8;
2、将文件中的Junit(用于单元测试)版本改为4.12
3、将文件中的<build></build>
标签中的多余的配置删除;在java文件夹下创建package,然后再在package下创建新的类class;若main下没有java文件夹则需新建java文件夹然后需要:右键java文件夹——Mark
Directory As ——Source Root;
2.3 maven-service
右键maven-parent—Module—Maven—Create from archetype(选择maven-archetype-quickstart)—照常;
配置pom.xml文件:
1、将pom.xml文件中依赖的jdk版本改为1.8;
2、将文件中的Junit(用于单元测试)版本改为4.12
3、将文件中的<build></build>
标签中的多余的配置删除;
2.4 maven-controller
右键maven-parent—Module—Maven—Create from archetype(选择maven-archetype-webapp)—照常;
配置pom.xml文件:
1、将pom.xml文件中依赖的jdk版本改为1.8;
2、将文件中的Junit(用于单元测试)版本改为4.12
3、将文件中的<build></build>
标签中的多余的配置删除;
3、maven模块之间的依赖
maven-service模块依赖maven-dao模块: 需要在maven-service模块的pom.xml文件中加上依赖:在依赖集中加入maven-dao的依赖;其他的依赖类似;
完成依赖之后就可以在maven-service里使用maven-dao中的内容;
service–>dao;//maven-service依赖maven-dao
controller–>service;//maven-controller依赖maven-service
传递依赖:controller会依赖dao;