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>