java.lang.NoSuchMehodError:org.apache.flink.configuration.coreoption.getParentFirstLOader
env.execute执行不了是什么鬼
我试图使用以下方法读取文件:
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); DataSet line = env.readTextFile("file:///pathtofile/myfile.txt");
我收到以下错误:
java.lang.NoSuchMethodError: org.apache.flink.api.common.io.DelimitedInputFormat: method (Lorg/apache/flink/core/fs/Path;)V not found
我使用的是flink 1.3.2版,java版“1.8.0_91”
与依赖项存在冲突。 Apache Flink默认将许多类加载到其类路径中。
请阅读这篇文章https://ci.apache.org/projects/flink/flink-docs-release-1.3/monitoring/debugging_classloading.html最后一节
使用maven-shade-plugin解决与Flink的依赖冲突
Apache Flink默认将许多类加载到其类路径中。 如果用户经常使用Flink正在使用的库的不同版本
IllegalAccessExceptions
要么
NoSuchMethodError
是结果。
所以,我建议你使用你的pom.xml并使用maven-shade-plugin并添加正确的重定位,就像我们在例子中一样
org.codehaus.plexus.util org.shaded.plexus.util org.codehaus.plexus.util.xml.Xpp3Dom org.codehaus.plexus.util.xml.pull.*
在IntelliJ或Dashboard中收到此错误,在IntelliJ中收到此错误,请确保在pom.xml中使用相同的Flink版本