flink-quickstart-java 线程 "main" java.lang.RuntimeException 异常:尚未创建数据接收器
flink-quickstart-java Exception in thread "main" java.lang.RuntimeException: No data sinks have been created yet
我刚刚使用 maven 原型(即模板)创建了新的 Flink 项目
(查看 this 文章)
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java
1.14.4 是当前版本。该项目可以编译。
但是当 运行 BatchJob
或 StreamingJob
public class BatchJob {
public static void main(String[] args) throws Exception {
// set up the batch execution environment
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
第一个异常NoClassDefFoundError:org/apache/flink/streaming/api/environment/StreamExecutionEnvironment
可以像
那样解决
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/streaming/api/environment/StreamExecutionEnvironment
at com.example.flink.StreamingJob.main(StreamingJob.java:39)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
但后来我明白了
Exception in thread "main" java.lang.RuntimeException: No data sinks have been created yet.
P.S。来自这 2 Java 类 的文档 https://flink.apache.org/docs/latest 的所有链接都是 404 Not Found,
所以我猜这个 Maven 原型实际上已经被放弃并且有一段时间没有更新了。
* Have a look at the programming guide for the Java API:
*
* https://flink.apache.org/docs/latest/apis/batch/index.html
*
* and the examples
*
* https://flink.apache.org/docs/latest/apis/batch/examples.html
maven quickstart 确实提供了正确设置的框架项目。但是,所提供的应用程序并不完整,也不会 运行 开箱即用,因为它们缺少源和接收器。
如果你定义一个简单的管道如
env.fromElements(1, 2, 3).print();
然后他们会工作。
我刚刚使用 maven 原型(即模板)创建了新的 Flink 项目 (查看 this 文章)
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java
1.14.4 是当前版本。该项目可以编译。
但是当 运行 BatchJob
或 StreamingJob
public class BatchJob {
public static void main(String[] args) throws Exception {
// set up the batch execution environment
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
第一个异常NoClassDefFoundError:org/apache/flink/streaming/api/environment/StreamExecutionEnvironment
可以像
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/streaming/api/environment/StreamExecutionEnvironment
at com.example.flink.StreamingJob.main(StreamingJob.java:39)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
但后来我明白了
Exception in thread "main" java.lang.RuntimeException: No data sinks have been created yet.
P.S。来自这 2 Java 类 的文档 https://flink.apache.org/docs/latest 的所有链接都是 404 Not Found,
所以我猜这个 Maven 原型实际上已经被放弃并且有一段时间没有更新了。
* Have a look at the programming guide for the Java API:
*
* https://flink.apache.org/docs/latest/apis/batch/index.html
*
* and the examples
*
* https://flink.apache.org/docs/latest/apis/batch/examples.html
maven quickstart 确实提供了正确设置的框架项目。但是,所提供的应用程序并不完整,也不会 运行 开箱即用,因为它们缺少源和接收器。
如果你定义一个简单的管道如
env.fromElements(1, 2, 3).print();
然后他们会工作。