为了达到聚合的目标,所以今天会引入
父工程(maven project)
子模块(maven module) dao ,service, web1.父工程的创建(打包方式选择pom)

2.创建Dao层的子工程 (创建的是一个 MavenModul)

3.创建Service层的子工程
4.创建web层的子工程
5.在Service项目中添加 Dao层的依赖。
private ICustomerDao customerDao;// 不能导包
public void setCustomerDao(ICustomerDao customerDao) {
this.customerDao = customerDao;
}
6.在web层中添加Service层的依赖
此时Service层所依赖的也会 依赖进来
7.在父工程中添加 框架所需要的依赖

8.此时会发现一个问题

其中 3.11是Struts框架依赖进来的,3.18.1是Hibernate框架依赖进来的。那有两个一样的依赖包,运行一定会报错。右键排除依赖即可。(默认排除低版本的依赖)
9.在Dao层配置单元测试的依赖(拆分开发:主要就是分别开发测试,最后在聚合)
Scope属性选择 test
依赖的传递
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
例如:Service->Dao(compile 默认) Dao->junit(test 测试)所以Service->junit不成立。
所以说依赖传递也是有范围的
解决这个问题,只需要在Service中再依赖一下就可以了。
本文详细介绍了如何使用Maven搭建一个多模块项目结构,包括父工程和子模块的创建过程,并解释了如何处理不同模块间的依赖关系及依赖冲突问题。
775

被折叠的 条评论
为什么被折叠?



