Flink运行报错:ClassNotFoundException: org.apache.flink.table.api.bridge.java.StreamTableEnvironment

提问者:帅平 问题分类:大数据
flink版本是1.17.0,在本地idea测试table api的时候报错,提示:
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 个回答
一切都是多余
一切都是多余
这是因为在flink中,引入的maven pom是如下的:
<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属地:四川省
我来回答