3.5.依赖排除

假设项目A 依赖与项目B,项目B依赖项目C。但是由于某些原因我们不想引入项目C和是引入项目C 1.1.0版本的依赖,我们该怎么办呢?

这时候我们就要用到Maven的排除依赖

<project>
	<groupId>A</groupId>
	<artifactId>projectA</artifactId>
	<version>1.0.0</version>
	
	<dependencies>
		<dependency>
			<groupId>B</groupId>
			<artifactId>projectB</artifactId>
			<version>1.0.0</version>
			<exclusions>
				<exclusion>
					<groupId>C</groupId>
					<artifactId>projectC</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>C</groupId>
			<artifactId>projectC</artifactId>
			<version>1.1.0</version>
		</dependency>
	</dependencies>
</project>


注意exclusion只需要groupId和artifactId,而不需要version,这是因为只需要groupId和artifactId就能唯一定位依赖图中的摸个依赖。换句话说,Maven解析后的依赖中,不可能出现groupId和atrifactId相同,但是version不同的两个依赖。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...