我有一个Java应用程序,其中包含两个第三方JAR(Amazon Kinesis和MaxMind GeoIP2),每个都使用不同版本的Jackson。两种版本的Jackson都不能与两个第三方JAR一起使用。

此外,我正在运行Apache的maven JAR插件-这将创建一个包含所有依赖类的uber JAR。

鉴于我无法更改第三方JAR,我不知道如何才能使每个第三方JAR都调用Jackson的适当版本的JAR。

有任何想法吗?

Kinesis期望:
com.fasterxml.jackson.dataformat»jackson-dataformat-cbor:2.6.6
com.fasterxml.jackson.core»jackson-databind:2.6.6

而GeoIP2期望:
com.fasterxml.jackson.core»jackson-databind:2.8.8.1

最佳答案

使用Maven阴影插件

https://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocation.html

迁移课程。

关于java - 在一个Java应用程序中需要两个不同版本的JAR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45305935/

10-11 22:22
查看更多