"Stream Processing with Apache Flink" 如何 运行 从 IntelliJ 中获取代码?

"Stream Processing with Apache Flink" how to run book code from IntelliJ?

中所述,我无法成功运行“使用 Apache Flink 进行流处理,包括预编译的 jar”一书中的任何代码。

我不习惯使用 IDE,但我想我会尝试使用 IntelliJ,因为第 3 章 "Run and Debug Flink Applications in an IDE" 专门针对本书的代码描述了如何做到这一点。

书中介绍了一个项目导入过程,我还没有找到使用方法。它描述了导入时的设置选项,例如 select Maven。我还没有找到在导入时设置任何选项的方法。

我可以导入项目和 运行 代码。代码失败,看起来缺少依赖项。可能是因为它不是 Maven 项目?

这里是重现的步骤

git clone https://github.com/streaming-with-flink/examples-scala.git

启动 IntelliJ

选择 "Open or Import" 和 Select "examples-scala/" 文件夹。项目导入时没有机会 select 选项。

现在我有一个项目

浏览到 AverageSensorReadings class,打开,然后 运行。

错误

java.lang.NoClassDefFoundError: org/apache/flink/api/common/typeinfo/TypeInformation

如何在 IntelliJ 中运行这段代码?

我看到 flink 依赖项在 Maven 中具有 provided 范围 - 这意味着当您 运行 应用程序时,它们不会包含在类路径中。应用程序很可能是 运行 在这些依赖项已经存在的环境(例如 Hadoop)上。为了能够从 IDE 中 运行 设置 Include dependencies with "Provided" scope option in 运行 Configuration: