Seata为什么在客户端在编译和运行时 JDK 版本都是 1.8 的情况下还会出现 java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer 错误 ?
肯定不是,不用怀疑。这是因为编译了 seata 源码然后覆盖了本地的 seata 依赖包的原因,在编译 seata 源码时使用了 JDK 11,而在 JDK 11 中由于改写了 flip() 方法,所以导致不兼容。 解决办法:
编译 seata 源码时确认 JDK 版本为 1.8,以免导致兼容问题 如果已经用 JDK 11 编译了 seata 的源码,请删除本地 maven 仓库下 io.seata 路径下所有包。然后重新编译你的项目,让项目重新拉取中央仓库的 seata 的依赖包,此回答整理自钉群“3群-Seata 开源讨论群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。