java.lang.NoSuchMethodError en Flink

Estoy tratando de leer el archivo usando:

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); DataSet line = env.readTextFile("file:///pathtofile/myfile.txt"); 

Me aparece el siguiente error:

 java.lang.NoSuchMethodError: org.apache.flink.api.common.io.DelimitedInputFormat: method (Lorg/apache/flink/core/fs/Path;)V not found 

Estoy usando flink versión 1.3.2, versión java “1.8.0_91”

Hay un conflicto con las dependencias. Apache Flink carga muchas clases de forma predeterminada en su classpath.

Lea este artículo https://ci.apache.org/projects/flink/flink-docs-release-1.3/monitoring/debugging_classloading.html la última sección

Resolviendo Conflictos de Dependencia con Flink usando el maven-shade-plugin

Apache Flink carga muchas clases de forma predeterminada en su classpath. Si un usuario usa una versión diferente de una biblioteca que Flink está usando, a menudo

 IllegalAccessExceptions 

o

 NoSuchMethodError 

son el resultado.

Entonces, te sugiero que juegues con tu pom.xml y uses maven-shade-plugin y añadas la correcta reubicación, como hemos visto en el ejemplo

  org.codehaus.plexus.util org.shaded.plexus.util  org.codehaus.plexus.util.xml.Xpp3Dom org.codehaus.plexus.util.xml.pull.*   

Si obtiene este error en IntelliJ o en el Tablero, si obtiene este error en IntelliJ, asegúrese de usar la misma versión de Flink en su pom.xml y también agregue sombreado de dependencia en la comstackción de esta manera.

     org.apache.maven.plugins maven-compiler-plugin 3.1  1.8 1.8 jdt    org.eclipse.tycho tycho-compiler-jdt 0.21.0     org.apache.maven.plugins maven-shade-plugin 3.1.0   package  shade     org.codehaus.plexus.util org.shaded.plexus.util  org.codehaus.plexus.util.xml.Xpp3Dom org.codehaus.plexus.util.xml.pull.*         > 

asegúrese de ejecutar maven clean install en el terminal después de realizar cambios. Por otro lado, si tiene este problema solo en el Tablero no en intelliJ, entonces eche un vistazo aquí

Debes verificar tu ruta de comstackción, asegurarte de que las bibliotecas estén allí e importarlas correctamente

Una posible causa de error “java.lang.NoSuchMethodError” es cuando utilizamos una versión diferente de Flink y luego la que tenemos instalada en nuestro sistema. Para mí, tengo Flink 1.3.2 y la versión que estaba usando era 1.1.1. Así que actualicé mi archivo pom para tener la misma versión.

Para los que están luchando con el problema anterior, mientras usan Flink 1.3.2 , aquí está todo el pom que pude construir con éxito:

    org.apache.maven.plugins maven-assembly-plugin 2.4.1    jar-with-dependencies     FlinktoLambda      make-assembly  package  single      org.apache.maven.plugins maven-jar-plugin    FlinktoLambda       org.apache.maven.plugins maven-compiler-plugin 3.1  1.8 1.8 jdt    org.eclipse.tycho tycho-compiler-jdt 0.21.0     org.apache.maven.plugins maven-shade-plugin 3.1.0   package  shade     FlinktoLambda   reference.conf     org.codehaus.plexus.util org.shaded.plexus.util  org.codehaus.plexus.util.xml.Xpp3Dom org.codehaus.plexus.util.xml.pull.*          my-app http://maven.apache.org    FlinktoLambda my-app   com.typesafe.akka akka-remote_2.10   com.typesafe.akka akka-actor_2.10   com.typesafe.akka akka-slf4j_2.10        org.apache.flink flink-table_2.10 1.3.2   org.apache.flink flink-java 1.3.2   org.apache.flink flink-streaming-java_2.10 1.3.2   org.apache.flink flink-clients_2.10 1.3.2   org.apache.flink flink-scala_2.10 1.3.2   org.apache.flink flink-streaming-scala_2.10 1.3.2   

Por favor, cambie su clase principal en consecuencia en el plugin de shade .