Maven(七)----分模块开发

一、创建父工程


父工程如下:


父工程不做事,来指挥。来管理,聚合。

所有jar包由父工程来管理,子工程从父工程继承jar包。

二、创建子工程-dao

在ssh-parent项目上右击 ,创建时选择 Maven Module


点击next


点击finish


把ssh项目中与dao相关的部分移植到这里来。

三、创建子工程-service

创建过程与dao类似


移植ssh中与service相关的部分


我们的service依赖了dao。要在service工程中引入dao工程。在引入之前,dao工程要发布到本地仓库。ssh-parent也要打进去。

发布parent工程

service报错了,先在父工程中注释掉service


ssh-parent右键-run as-maven build..



发布成功。我们发布的是parent,结果是,dao也打进去了。

引入dao工程所打成的jar包

右键ssh-service-maven-add dependency



创建一个测试类,此时,我们发现junit缺少了,可是,我们在dao里面引入了,而service又引入了dao。

这是因为dao里面的junit的scope是test。这就是依赖范围对依赖传递造成的影响


举例:service依赖dao,是最左边一列的compile,dao依赖junit是第一行的test,传递的结果是service无法依赖到junit。

创建好了测试类

@RunWith(SpringJUnit4ClassRunner.class) // 使用junit4进行测试
@ContextConfiguration(locations = { "classpath:applicationContext-service.xml" }) // 加载配置文件
public class CustomerServiceImplTest {
	@Autowired
	private CustomerService customerService;

	@Test
	public void test() {
		Customer customer = customerService.findById(1L);
		System.out.println(customer);
	}
}

运行之后:



也可以这样:


四、创建子工程-web



对service工程进行发布。


我们要发布时候,测试代码都已经没用了。在打包的过程中,会被运行。所以,我们把test代码注释掉。


install成功


把service工程关闭

在web工程中添加service的引用。


搜不出来,是因为索引没有更新。


再添加引用就成功了



在ssh-web工程上-run as-maven build...-tomcat:run



还可以在ssh-parent工程上运行



在ssh-parent上运行就是所谓的聚合。

源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值