• 使用GCP的Kubernetes部署项目时出现的编译问题


    问题记录:

    最近在google云平台使用Kubernetes进行服务打包部署时,项目日志中频繁出现

     java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer

    的报错,一直没能查出是什么原因,在本地环境运行是没有问题的,打包放到云上Kubernetes的pod中运行就报这个错。

    后来搜索到了类似的一个提问:https://stackoverflow.com/questions/61267495/exception-in-thread-main-java-lang-nosuchmethoderror-java-nio-bytebuffer-flip

    主要意思就是说代码编译时的jdk版本和实际运行中的jdk版本不一致。

    我使用的是openjdk8的基础镜像,然后再在其基础上运行的spring boot。

    但是,由于我为了图省事,直接在GCP控制台上的cloud shell 环境,使用自己写的一个脚本进行 代码拉取,mvn打包,docker镜像构建,镜像上传,以及replicationController创建等一系列操作,后来发现,google 云的Cloud shell 环境的jdk版本是 11 的。。。

     所以就导致的如上的运行异常。

    这里需要有个潜意识,一般看到类似NoSuchMethodError 的错误的时候,就要意识到有可能是 Java 编译版本的问题。

    
    
  • 出处: http://www.cnblogs.com/hiscode/
    本文版权归作者和博客园共有,转载请在文章页面明显位置标明原文链接。
  • 相关阅读:
    CentOS yum 源的配置与使用
    在css当中使用opacity
    CSS position属性absolute relative等五个值的解释
    uni APP 微信小程序获取授权的微信信息
    vue-admin-element 打包发布后IE报错的问题
    RMAN恢复数据文件
    怎么删除表空间对应的某一个数据文件
    Oracle存储过程、函数、包加密wrap
    Oracle加密解密
    Interval 用法总结
  • 原文地址:https://www.cnblogs.com/hiscode/p/NoSuchMethodError-of-buffer-flip.html
  • Copyright © 2020-2023  润新知