我有一个项目的2个模块如下:
parent
├── SDK module
└── service module服务模块依赖于SDK模块。SDK模块必须依赖httpClient 3.x,但服务模块必须依赖httpClient 4.x。
我知道spring有一个重新打包的cglib。所以我想把httpClient 3.x重新打包成SDK module来解决这个问题。
有人知道怎么做吗?(也许spring-boot:repackage?)
发布于 2017-06-14 03:07:02
理想情况下,在开发中的服务中,我希望尽可能避免冲突的依赖关系。
如果这真的不在个人手中,你可以在你的pom依赖声明中使用<exclusions>来避免版本冲突。试试看,它周围的样本会是这样的:-
SDKModule/pom.xml
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>3.1</version><!--just an example-->
</dependency>ServiceModule/pom.xml
<dependency>
<groupId>some-group-id</groupId>
<artifactId>sdk-module</artifactId>
<version>some.version</version>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--This adds an exclusive version of httpclient not included via sdk-module-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>https://stackoverflow.com/questions/44528021
复制相似问题