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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 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 ,遂排查与解决。

 一.引言

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 类

image.gif编辑

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

image.gif编辑

2.Properties

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

image.gif编辑

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

image.gif编辑

三.问题解决

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

image.gif编辑

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

<dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.11.8</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-reflect</artifactId>
            <version>2.11.8</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-compiler</artifactId>
            <version>2.11.8</version>
        </dependency>

image.gif

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

image.gif编辑


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
1月前
|
Java 开发工具 流计算
flink最新master代码编译出现Java Runtime Environment 问题
在尝试编译Flink源码时遇到Java运行时环境致命错误:EXCEPTION_ACCESS_VIOLATION。问题出现在JVM.dll+0x88212。使用的是Java 11.0.28和Java HotSpot(TM) 64-Bit Server VM。系统为Windows客户端,没有生成核心dump文件。错误日志保存在hs_err_pid39364.log和replay_pid39364.log。要解决这个问题,建议检查JDK版本兼容性,更新JDK或参照错误报告文件提交Bug至http://bugreport.java.com/bugreport/crash.jsp。
|
14天前
|
Java 大数据 API
[AIGC] Flink入门教程:理解DataStream API(Java版)
[AIGC] Flink入门教程:理解DataStream API(Java版)
|
2月前
|
Java 关系型数据库 MySQL
Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
【2月更文挑战第33天】Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
66 2
|
3月前
|
Java 流计算
在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
【2月更文挑战第6天】在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
22 3
|
3月前
|
关系型数据库 网络安全 对象存储
Flink报错问题之Flink报错java.io.EOFException: SSL peer shut down incorrectly如何解决
Flink报错通常是指在使用Apache Flink进行实时数据处理时遇到的错误和异常情况;本合集致力于收集Flink运行中的报错信息和解决策略,以便开发者及时排查和修复问题,优化Flink作业的稳定性。
|
3月前
|
Java 流计算
在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
在Flink实时任务中,POJO(Plain Old Java Object)对象的模式演进可能会引起不兼容的问题
34 4
|
4月前
|
Java API Scala
【Flink】Flink Java 统计词频 开发
【1月更文挑战第26天】【Flink】Flink Java 统计词频 开发
|
3月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
594 5
|
2月前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1622 2
官宣|Apache Flink 1.19 发布公告
|
2月前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
286 3