amazonaws插件和redisson插件的Jackson依赖冲突
Conflict in the Jackson dependency of amazonaws plugin and redisson plugin
目前在我的grails 项目(grails 版本2.5.1)中,我正在使用amazonaws 插件版本1.11.339 将数据推送到kinesis 流。现在我需要将数据保存到 redis 缓存,我正在使用 redisson 插件版本 3.10.1 将数据保存在 redis 缓存中。使用redisson插件后,由于kinesis和redisson之间的jackson依赖,我无法将数据推送到kinesis stream。
我在将数据推送到运动流时收到以下错误日志。
*
Error | Caused by: java.lang.RuntimeException: Jackson
jackson-core/jackson-dataformat-cbor incompatible library version
detected. You have two possible resolutions: 1) Ensure the
com.fasterxml.jackson.core:jackson-core &
com.fasterxml.jackson.dataformat:jackson-dataformat-cbor libraries on
your classpath have the same version number 2) Disable CBOR
wire-protocol by passing the -Dcom.amazonaws.sdk.disableCbor property
or setting the AWS_CBOR_DISABLE environment variable (warning this may
affect performance) Error | at
com.amazonaws.protocol.json.SdkCborGenerator.getBytes(SdkCborGenerator.java:68)
Error | at
com.amazonaws.services.kinesis.model.transform.PutRecordRequestMarshaller.marshall(PutRecordRequestMarshaller.java:80)
Error | ... 149 more Error | Caused by: java.lang.NoSuchMethodError:
com.fasterxml.jackson.dataformat.cbor.CBORGenerator.getOutputContext()Lcom/fasterxml/jackson/core/json/JsonWriteContext;
Error | at
com.fasterxml.jackson.dataformat.cbor.CBORGenerator.close(CBORGenerator.java:903)
Error | at
com.amazonaws.protocol.json.SdkJsonGenerator.close(SdkJsonGenerator.java:253)
Error | at
com.amazonaws.protocol.json.SdkJsonGenerator.getBytes(SdkJsonGenerator.java:268)
Error | at
com.amazonaws.protocol.json.SdkCborGenerator.getBytes(SdkCborGenerator.java:66)
Error | ... 150 more
我尝试从 redisson 插件中排除 jackson 依赖项。但是它不允许将数据保存到 redis 缓存中。您能否建议 amazonaws 和 redisson 的兼容版本,以便它能解决问题并按预期工作?
如果两个插件的 jackson 依赖性发生冲突,您可以尝试其中一种方式。
您可以从其中一个插件中排除 jackson 依赖(可能,您可以从新添加的插件中排除它,即 redisson 插件)。尝试清除依赖项并重新 运行 项目。可能是您的依赖项尚未清除,并且在将数据保存在缓存中时导致了问题。
您使用什么范围来添加该依赖项?如果两者都用作编译。您可以尝试将 redisson 插件的范围更改为 运行time.
目前在我的grails 项目(grails 版本2.5.1)中,我正在使用amazonaws 插件版本1.11.339 将数据推送到kinesis 流。现在我需要将数据保存到 redis 缓存,我正在使用 redisson 插件版本 3.10.1 将数据保存在 redis 缓存中。使用redisson插件后,由于kinesis和redisson之间的jackson依赖,我无法将数据推送到kinesis stream。 我在将数据推送到运动流时收到以下错误日志。
*
Error | Caused by: java.lang.RuntimeException: Jackson jackson-core/jackson-dataformat-cbor incompatible library version detected. You have two possible resolutions: 1) Ensure the com.fasterxml.jackson.core:jackson-core & com.fasterxml.jackson.dataformat:jackson-dataformat-cbor libraries on your classpath have the same version number 2) Disable CBOR wire-protocol by passing the -Dcom.amazonaws.sdk.disableCbor property or setting the AWS_CBOR_DISABLE environment variable (warning this may affect performance) Error | at com.amazonaws.protocol.json.SdkCborGenerator.getBytes(SdkCborGenerator.java:68) Error | at com.amazonaws.services.kinesis.model.transform.PutRecordRequestMarshaller.marshall(PutRecordRequestMarshaller.java:80) Error | ... 149 more Error | Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.dataformat.cbor.CBORGenerator.getOutputContext()Lcom/fasterxml/jackson/core/json/JsonWriteContext; Error | at com.fasterxml.jackson.dataformat.cbor.CBORGenerator.close(CBORGenerator.java:903) Error | at com.amazonaws.protocol.json.SdkJsonGenerator.close(SdkJsonGenerator.java:253) Error | at com.amazonaws.protocol.json.SdkJsonGenerator.getBytes(SdkJsonGenerator.java:268) Error | at com.amazonaws.protocol.json.SdkCborGenerator.getBytes(SdkCborGenerator.java:66) Error | ... 150 more
我尝试从 redisson 插件中排除 jackson 依赖项。但是它不允许将数据保存到 redis 缓存中。您能否建议 amazonaws 和 redisson 的兼容版本,以便它能解决问题并按预期工作?
如果两个插件的 jackson 依赖性发生冲突,您可以尝试其中一种方式。
您可以从其中一个插件中排除 jackson 依赖(可能,您可以从新添加的插件中排除它,即 redisson 插件)。尝试清除依赖项并重新 运行 项目。可能是您的依赖项尚未清除,并且在将数据保存在缓存中时导致了问题。
您使用什么范围来添加该依赖项?如果两者都用作编译。您可以尝试将 redisson 插件的范围更改为 运行time.