Maven项目中用到一个A.jar包,但是这个A.jar包自身的依赖与我项目用到的其他的依赖有冲突。
这个时候你就需要禁止A.jar的依赖,而使用项目的依赖。
例如A.jar的依赖是:
<dependency>
<groupId>httpclient</groupId>
<artifactId>httpclient</artifactId>
<version>4.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.2.4</version>
</dependency>
<groupId>httpclient</groupId>
<artifactId>httpclient</artifactId>
<version>4.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.2.4</version>
</dependency>
项目的依赖是:
<dependency>
<groupId>httpclient</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3.2</version>
<groupId>httpclient</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3.2</version>
</dependency>
在引用A.jar时,就需要exclusion掉它的依赖
- <dependency>
- <groupId>com.XXX.YYY</groupId>
- <artifactId>A-ZZ</artifactId>
- <version>1.1.1</version>
- <exclusions>
- <exclusion>
- <groupId>httpclient</groupId>
- <artifactId>httpclient</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
本文介绍如何在Maven项目中解决依赖冲突问题。通过排除特定依赖的方法,可以确保项目使用所需的依赖版本,而不是由第三方库引入的版本。

370

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



