【问题标题】:NiFi using Clickhouse Driver NoClassDefFoundErrorNiFi 使用 Clickhouse 驱动程序 NoClassDefFoundError
【发布时间】:2018-01-17 00:45:58
【问题描述】:

在 NiFi 中,我使用 Clickhouse 驱动程序。当我使用驱动程序“启用” DBCPConnectionPool 时,我得到 java.lang.NoClassDefFoundError: com/google/common/collect/MapMaker。

screen of settings

【问题讨论】:

    标签: apache-nifi clickhouse


    【解决方案1】:

    Clickhouse 驱动程序不是独立的 JAR,它是 has dependencies,例如 Guava。您必须连同驱动程序 JAR 一起下载所有依赖项,将它们全部放在一个文件夹中,然后在 Database Driver Location(s) 属性中指向该文件夹。

    【讨论】:

    • 谢谢。我在 lib 文件夹中添加 Guava,重新加载 nifi 和配置启动没有问题。但是使用 ConnectionPool 的处理器显示错误:执行其中一个处理器 OnSheduled 任务时失败。我打开 logs/nifi-app.log 并在这里看到 java.lang.ClassNotFoundException: org.apache.http.conn.ConnectionKeepAliveStrategy
    • 引起:java.lang.ClassNotFoundException: org.apache.http.conn.ConnectionKeepAliveStrategy at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass( ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 省略了 34 个常用框架
    • Guava 不是唯一的依赖项。检查我发送的链接中的列表,您将需要所有编译依赖项和任何传递依赖项。
    • 谢谢。我从 git 下载 Clickhouse 驱动程序并将其与依赖项打包。它工作!
    猜你喜欢
    • 2017-12-07
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 2018-08-05
    • 1970-01-01
    相关资源
    最近更新 更多