【问题标题】:NoClassDefFoundError even though Jar is present in classpathNoClassDefFoundError 即使 Jar 存在于类路径中
【发布时间】:2021-06-10 17:55:34
【问题描述】:

我遇到了一个奇怪的问题,我正在尝试使用 Class.forName("com.cloudera.impala.jdbc41.Driver") 加载类 com.cloudera.impala.jdbc41.Driver,但它在运行时抛出异常。有人可以纠正我在这里做错了什么吗?

java.lang.NoClassDefFoundError: Could not initialize class com.cloudera.impala.jdbc41.Driver

使用以下 sn-p 打印类路径确实会打印类路径中存在的 Jar。

System.out.println(System.getProperty("java.class.path"))

【问题讨论】:

  • 请提供完整的异常堆栈跟踪。它可能会显示无法初始化类的原因。
  • 我还要确保您使用的是兼容的 JDK。我认为 JDBC 驱动程序 4.1 应该适用于 7 和 8。

标签: java jdbc impala


【解决方案1】:

错误消息“无法初始化类”可能表示已找到该类,但在初始化期间抛出了异常,可能在静态块中。

这会导致 ClassLoader 无法“找到”类。令人困惑,我知道。查看该类中是否有任何静态块,如果有,则在此处设置调试器断点以查看发生了什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2014-03-12
    相关资源
    最近更新 更多