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 依赖性发生冲突,您可以尝试其中一种方式。

  1. 您可以从其中一个插件中排除 jackson 依赖(可能,您可以从新添加的插件中排除它,即 redisson 插件)。尝试清除依赖项并重新 运行 项目。可能是您的依赖项尚未清除,并且在将数据保存在缓存中时导致了问题。

  2. 您使用什么范围来添加该依赖项?如果两者都用作编译。您可以尝试将 redisson 插件的范围更改为 运行time.