• Flink / Scala - java.lang.NumberFormatException: Not a version: 9


    一.引言

    Flink V1.13.1 + Scala 2.11.8 提交任务后,报错 Caused by: org.apache.flink.shaded.guava18.com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NumberFormatException: Not a version: 9 ,遂排查与解决。

    二.报错分析

    1.LocalCache

    异常栈最后报错在 com.google.common.util.concurrent,最终定位的是 LocalCache 类,查看项目下是否有多个 google 版本的 LocalCache 类

    查找后虽然有多个 LocalCache,但是 org.apache.flink.shaded.guava18.com.google.common.cache.LocalCache 类没有公共的部分,所以排除 LocalCache 的依赖冲突,继续查看下一个报错异常栈。

     

    2.Properties

    紧跟着下面的报错定位在 scala.util.PropertiesTrait

    再次查看项目内,发现 sdk 为 2.11.8,而项目内依赖为 2.11.12,结合 Not a version 9 这种类似是环境问题的报错名称,直接排查 pom.xml,之前类似的报错还有 AreOnJava8() 也是很类似的环境问题,排查方法与本文类似,可以参考 AreOnJava8 问题排查

     

    三.问题解决

    查看 PropertiesTrail 发现 scala 2.11.12 与 2.11.8 冲突,为了与 SDK 一致,这里修改 pom.xml 内的依赖:

    修改为 SDK 对应的 2.11.8 的版本:

    1. <dependency>
    2. <groupId>org.scala-langgroupId>
    3. <artifactId>scala-libraryartifactId>
    4. <version>2.11.8version>
    5. dependency>
    6. <dependency>
    7. <groupId>org.scala-langgroupId>
    8. <artifactId>scala-reflectartifactId>
    9. <version>2.11.8version>
    10. dependency>
    11. <dependency>
    12. <groupId>org.scala-langgroupId>
    13. <artifactId>scala-compilerartifactId>
    14. <version>2.11.8version>
    15. dependency>

    不确定自己 SDK 版本的也可以在 IDEA Project Structure 内查看,保证 pom.xml 的 Scala 与 Pom 对应 Scala 版本一致:

     

  • 相关阅读:
    函数题21 习题8-2 在数组中查找指定元素 浙大版《C语言程序设计(第4版)》题目集
    Java中获取年份月份的方法
    【JavaSE】Java方法
    嵌入式中间件_4.嵌入式中间件的主要功能及典型产品
    bert----学习笔记
    lnmp架构部署Discuz论坛并配置重定向转发
    交流耐压试验目的
    PyTorch学习笔记(二)
    基于聚类算法的IMT-2030应用场景初步研究
    MySQL之临时表
  • 原文地址:https://blog.csdn.net/BIT_666/article/details/126278754