Seata中为什么在客户端编译和运行时JDK 版本都是 1.8 的情况下还会出现错误呢?

Seata中为什么在客户端编译和运行时 JDK 版本都是 1.8 的情况下还会出现 java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer 错误呢?

展开
收起
fuxixi 2022-10-17 12:57:26 649 分享 版权
1 条回答
写回答
取消 提交回答
  • 这是因为编译了 seata 源码然后覆盖了本地的 seata 依赖包的原因,在编译 seata 源码时使用了 JDK 11,而在 JDK 11 中由于改写了 flip() 方法,所以导致不兼容。 解决办法: 编译 seata 源码时确认 JDK 版本为 1.8,以免导致兼容问题 如果已经用 JDK 11 编译了 seata 的源码,请删除本地 maven 仓库下 io.seata 路径下所有包。然后重新编译你的项目,让项目重新拉取中央仓库的 seata 的依赖包。此答案整理自钉钉群“3群-Seata开源讨论群”

    2022-10-17 14:41:39
    赞同 展开评论
问答分类:
问答地址:

为企业提供高效、稳定、易扩展的中间件产品。

收录在圈子:
+ 订阅
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
还有其他疑问?
咨询AI助理