开发者社区 > 云原生 > 中间件 > 正文

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

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

展开
收起
真的很搞笑 2023-06-21 10:41:53 127 0
1 条回答
写回答
取消 提交回答
  • 肯定不是,不用怀疑。这是因为编译了 seata 源码然后覆盖了本地的 seata 依赖包的原因,在编译 seata 源码时使用了 JDK 11,而在 JDK 11 中由于改写了 flip() 方法,所以导致不兼容。 解决办法:

    编译 seata 源码时确认 JDK 版本为 1.8,以免导致兼容问题 如果已经用 JDK 11 编译了 seata 的源码,请删除本地 maven 仓库下 io.seata 路径下所有包。然后重新编译你的项目,让项目重新拉取中央仓库的 seata 的依赖包,此回答整理自钉群“3群-Seata 开源讨论群”

    2023-06-21 12:15:01
    赞同 展开评论 打赏
问答分类:
问答地址:

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

相关电子书

更多
如何通过 Serverless 提高 Java 微服务治理效 立即下载
《Seata 1.3 新特性以及如何参与社区》 立即下载
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载