IDEA本地运行Flink程序报错,是突然一下所有的class都会有这个错。
查了不少博客都是一个套路
import org.apache.flink.streaming.api.scala._
import org.apache.flink.api.scala._
导入隐式转换。
但是其实如果你是一个经过transformation的程序,你不导入scala这个隐式转换,你的中间过程的JavaStream 需要转化这一关都过不去,更别提这个是运行时候报的错,而且是所有类一起报错。
所以,就查了下Scala的SDK,发现
但是pom.xml中的版本
问题来了,就是scala版本不一致导致的问题。
切换到2.12版本,问题解决。
心得:
1.scala这玩意比java要娇贵一些,毕竟还是转化为class.
2.一般隐式转换中如果没有导入,除非是老的IDEA版本,基本上都会在编译之前抛出小红线,比如streaming.scala._这个因为其中涉及到javaStream和scalaStream的转化。
3.使用scala,一定要搞明白自己的scalaSDK的版本,特别是flink或spark或kafka这些尾巴上带着scala版本号的,自己遇到scala这种问题,基本上都会去查一下scalaSDK。