IDEA自动导入provided的依赖
index.php/tags-41973.html" class="superseo">���近在学习flink 流程序,在写demo程序的时候依赖flink依赖,依赖的包在flink集群里面是自己已经提供了的,在导入的时候配置为provided,像下面这样,以使打包的时候不用打到最终的程序包里面。
org.apache.flink flink-streaming-java ${flink.version} provided org.apache.flink flink-clients ${flink.version} provided
在idea里面编译调试的时候,由于maven依赖被标记为provided,依赖没有自动导入,需要在idea中 做一下配置,在执行的时候idea才会自动帮忙导入。否则会报如下错误。
java.lang.NoClassDefFoundError: org/apache/flink/api/common/functions/FlatMapFunction at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: org.apache.flink.api.common.functions.FlatMapFunction at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more
按项目配置
按项目配置,只在配置的项目上起作用。
配置步骤如下截图:
默认配置
如果希望所有项目maven依赖依赖类型为provided的时候,idea都帮忙自动导入,配置默认自动导入provided依赖即可,配置步骤如下图。
The End