问题:
Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.catalog.ObjectPath
解决:
在poml文件中,导入的flink-table依赖把“ <scope>”
去掉
<properties>
<maven.compiler.source>8</maven.compiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<flink.version>1.18.0</flink.version>
<hadoop.version>3.0.0</hadoop.version>
<slf4j.version>1.7.36</slf4j.version>
<scala.binary.version>2.12</scala.binary.version>
</properties>
<!-- 使用flinkcdc 3.1.1 -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-mysql-cdc</artifactId>
<!-- 请使用已发布的版本依赖,snapshot 版本的依赖需要本地自行编译。 -->
<version>3.1.1</version>
</dependency>
<!-- 依赖 flink.table org.apache.flink.table.catalog.ObjectPath-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
<!-- <scope>provided</scope>-->
</dependency>
参考:
scala版本根据下载flink.tgz安装包时指定的版本号
DataStream API 打包指南 | Apache Flink CDC