[Maven学习]dependencyManagement管理父子模块的dependency依赖包

maven提供了dependencyManagement来管理父子模块的dependency依赖包。

当一个父模块下有多个子模块的时候,各个子模块中有不同的依赖包,但是通常某些子模块间会引入相同的模块包,这个时候就出现了重复导入依赖的问题。

那么解决重复依赖的很好的解决方案就是把子模块里相同的依赖提取出来,放到父模块的pom.xml里,然后在子模块里通过继承父模块的pom.xml得到依赖。

但是这个也有个问题,就是如果有5个子模块,4个子模块用到了1个相同的依赖,还有1个没用到怎么办?这个没用到的也根据继承得到了这个依赖,很显然这不是我们所希望的。

所以这个时候就由dependencyManagement出马了。

dependencyManagement用于父模块中,其中可以配置多个依赖包,如下所示:

<properties>
    <xxx.version>3.1.1<xxx.version/>
</properties>
<dependencyManagement>  
	<dependencies>  
		<dependency>  
			<groupId>xxxx</groupId>  
			<artifactId>xxxxx</artifactId>  
			<version>${xxx.version}</version>  
		</dependency>  
	</dependencies>  
    ......
</dependencyManagement>

其中可以把version提取出来,单独放到properties中配置,提高了灵活性。

然后在子模块中,通过在dependencies中正常的导入依赖,但是不声明version,如下所示:

	<dependencies>  
		<dependency>  
			<groupId>xxxx</groupId>  
			<artifactId>xxxxx</artifactId>    
		</dependency>  
	</dependencies> 

这样就能通过继承的方式,把这个依赖和version继承下来。只有在子模块中引入的dependency才会导入子模块。虽然看起来没啥区别,但却有效的解决了问题,提高了灵活性。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值