Flink运行报错:ClassNotFoundException: org.apache.flink.table.api.bridge.java.StreamTableEnvironment
flink版本是1.17.0,在本地idea测试table api的时候报错,提示:
这个包明明是有的,而且在代码里面已经顺利的import了,为什么会报错呢?
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/table/api/bridge/java/StreamTableEnvironment
at org.example.sql.TableApiHelloword.main(TableApiHelloword.java:27)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.api.bridge.java.StreamTableEnvironment
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 1 more
这个包明明是有的,而且在代码里面已经顺利的import了,为什么会报错呢?
发布于:1年前 (2023-08-17) IP属地:四川省
1 个回答
这是因为在flink中,引入的maven pom是如下的:
需要把这个bridge的scope去掉即可,例如:
去掉后,使用idea重新更新下当前项目的maven索引就好使了。
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-api-java-bridge</artifactId>
<version>1.17.0</version>
<scope>provided</scope>
</dependency>
需要把这个bridge的scope去掉即可,例如:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-api-java-bridge</artifactId>
<version>1.17.0</version>
</dependency>
去掉后,使用idea重新更新下当前项目的maven索引就好使了。
发布于:1年前 (2023-08-17) IP属地:四川省
我来回答
您需要 登录 后回答此问题!