我正在尝试运行一个使用kafka连接器(最新的通用连接器(的flink蒸汽程序。这些作业在IntelliJ上运行时没有任何问题,但当我使用sbt包将代码提交到jar中时,会出现以下错误。java.lang.ClassNotFoundException:org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase
我还使用了使用传统IntellIJ选项构建的jar,但仍然出现了上述错误。
问题很可能是您没有在JAR文件中包含依赖项。Flink二进制文件中不包括连接器依赖项。通常,解决这个问题的首选方法是为您的构建工具使用适当的插件,如Maven的shade-plugin
或sbt的assembly
,以创建所谓的胖jar,即包含依赖项的jar。