我有一个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/