Flink字数统计示例缺少库

时间:2016-03-08 17:28:27

标签: scala maven apache-flink

我正在尝试使用Flink运行示例程序。我使用

下载了示例项目

mvn package && java -cp target/test-1.0-SNAPSHOT.jar adfin.WordCount

然后我在终端上运行以下命令

public class TestThread implements Runnable { @Override public void run() { try { Thread.sleep(20000); } catch (InterruptedException ex) { } } } public void test() throws InterruptedException { Runnable r = new TestThread(); Thread t = new Thread(r); t.start(); // No it hasn't! //System.out.println("Hey the thread has ended"); t.join(); // It has now! System.out.println("Hey the thread has ended"); }

我收到以下错误

  

线程“main”中的异常java.lang.NoClassDefFoundError:org / apache / flink / api / common / typeinfo / TypeInformation       在adfin.WordCount.main(WordCount.scala)   引起:java.lang.ClassNotFoundException:org.apache.flink.api.common.typeinfo.TypeInformation       at java.net.URLClassLoader.findClass(URLClassLoader.java:381)       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)       at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:331)       在java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我尝试将库从默认的0.8.1更新到1.0.0,但这并没有改变任何东西。我想可能还有一个额外的罐子。我可以帮忙吗?

1 个答案:

答案 0 :(得分:5)

示例项目的Maven配置使用provided范围内的flink依赖项。使用mvn package命令编译的jar文件构建为提交到flink集群,而不是以独立模式运行,因此它不包括flink jar(因此NoClassDefFoundError异常)。将flink库包含在类路径中,命令运行正常。