scala - 使用带有自定义对象数组的数据集时 Flink 中的 NoSuchMethod 异常

标签 scala maven apache-flink

我的 Flink 有问题

java.lang.NoSuchMethodError: org.apache.flink.api.java.typeutils.ObjectArrayTypeInfo.getInfoFor(Lorg/apache/flink/api/common/typeinfo/TypeInformation;)Lorg/apache/flink/api/java/typeutils/ObjectArrayTypeInfo;
    at LowLevel.FlinkImplementation.FlinkImplementation$$anon$6.<init>(FlinkImplementation.scala:28)
    at LowLevel.FlinkImplementation.FlinkImplementation.<init>(FlinkImplementation.scala:28)
    at IRLogic.GmqlServer.<init>(GmqlServer.scala:15)
    at it.polimi.App$.main(App.scala:20)
    at it.polimi.App.main(App.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    ...

问题的所在是这个
implicit val regionTypeInformation = 
         api.scala.createTypeInformation[FlinkDataTypes.FlinkRegionType]

FlinkRegionType我有一个 Array自定义对象

我在 IDE 中使用 maven 插件开发了该应用程序,一切正常,但是当我转到从网站下载的版本时,出现上述错误

我正在使用 Flink 0.9

我在想某些库可能会丢失,但我正在使用 maven 来处理所有内容。另外运行了ObjectArrayTypeInfo.java的代码这似乎不是问题

最佳答案

A NoSuchMethodError通常表示编译 Flink 程序所使用的库与执行该程序的系统之间的版本不匹配。特别是如果相同的代码在编译和执行库相同的 IDE 设置中工作。

在这种情况下,您应该检查 Flink 依赖项的版本,例如在 Maven POM 文件中。

关于scala - 使用带有自定义对象数组的数据集时 Flink 中的 NoSuchMethod 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30120177/

相关文章:

eclipse - 如何在 Eclipse 中禁用 Scala 断言?

android - 如何让 IntelliJ IDEA 14 在 Android 上与 Scala 配合使用 (SBT)

scala - 在 Scala 中转换仿函数 (F[A] => G[A])(cats 或 scalaz)

eclipse - Maven 依赖项引用了不存在的库

java - 无法让 biojava 在 Maven Netbeans 应用程序中工作

gradle - 在shadowJar中没有为属性 'mainClassName'指定值

java - 比较 Flink Table API 与 join table 和 DataStream.join()

scala - 在 Scala 中,给定一个列表列表,如何从元素创建一个嵌套的 HashMap?

maven - Gradle 通过分类器改变依赖关系

scala - 从 FlinkML 多元线性回归中提取权重