使用Clickhouse驱动程序的NiFi NoClassDefFoundError
问题描述:
在NiFi中,我使用了Clickhouse驱动程序。当我使用驱动程序“启用”DBCPConnectionPool时,我得到java.lang.NoClassDefFoundError:com/google/common/collect/MapMaker。使用Clickhouse驱动程序的NiFi NoClassDefFoundError
答
的Clickhouse驱动程序不是一个独立的JAR,它has dependencies如番石榴。您必须将所有依赖项与驱动程序JAR一起下载,然后将它们全部放在一个文件夹中,并指向数据库驱动程序位置属性中的文件夹。
谢谢。我在lib文件夹中添加Guava,重新加载nifi和配置开始没有问题。 但是使用ConnectionPool的处理器显示错误:执行其中一个处理器OnSheduled任务时失败。我打开日志/ nifi-app.log这里看到 抛出java.lang.ClassNotFoundException:org.apache.http.conn.ConnectionKeepAliveStrategy –
引起:抛出java.lang.ClassNotFoundException:org.apache.http.conn.ConnectionKeepAliveStrategy \t在java.net.URLClassLoader.findClass(URLClassLoader.java:381) \t在java.lang.ClassLoader.loadClass(ClassLoader.java:424) \t在java.lang.ClassLoader.loadClass(ClassLoader.java:357) \t ...省略了34个常用框架 –
番石榴不是唯一的依赖。检查我发送的链接中的列表,您将需要所有的编译依赖和任何传递依赖。 – mattyb