ClassNotFoundException:org.apache.flink.streaming.connectors.rabbitmq.common.RMQConnectionConfig$Builder

ClassNotFoundException: org.apache.flink.streaming.connectors.rabbitmq.common.RMQConnectionConfig$Builder

我正在使用 flink 1.9.0 和 rabbitmq connector 读取数据,我可以成功编译我的代码,但是当我 运行 代码时出现以下错误:

java.lang.NoClassDefFoundError: org/apache/flink/streaming/connectors/rabbitmq/common/RMQConnectionConfig$Builder

我的 pom 文件中没有为依赖项定义任何范围。

final RMQConnectionConfig connectionConfig = new RMQConnectionConfig.Builder().setHost("myhost.com").setPort(1234).setUserName("username").setPassword("password").setVirtualHost("/").build();

我正在尝试 运行 本地的 flink 服务器,所以首先我启动 flink 集群,然后 运行 按照命令。

./bin/flink 运行 -c com.mycompany.App ~/.m2/repository/com/mycompany/flinker/1.0-SNAPSHOT/flinker-1.0-SNAPSHOT.jar

听起来 Flink 运行时没有找到 flink-connector-rabbitmq_2.11-1.9.0.jar。您需要将您的代码和任何依赖项(包括这个)打包到一个 uber jar 中,或者将 flink/rabbitmq jar 复制到集群中所有机器的 lib 目录中。

Documentation