【问题标题】:How to resolve NoClassDefFoundError for AutoloadedDriver40? [duplicate]如何解决 AutoloadedDriver40 的 NoClassDefFoundError? [复制]
【发布时间】:2018-07-09 02:50:27
【问题描述】:

我也是 Hadoop 和 Hive 的新手。我正在尝试通过创建 Java 项目并添加以下所有必需库来从 Java 连接到 Hive

$HIVE_HOME/lib/*.jar
$HADOOP_HOME/share/hadoop/mapreduce/*.jar
$HADOOP_HOME/share/hadoop/common/*.jar

以下是我连接 Hive 数据库的示例代码。

package com.stpl.hive.jdbc;

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveSample {

    //private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
private static String driverName = "org.apache.hive.jdbc.HiveDriver";

    public static void main(String[] args) throws SQLException,
            ClassNotFoundException {
        // Register driver and create driver instance
        Class.forName(driverName);
        // get connection
        Connection con = DriverManager.getConnection(
                "jdbc:hive2://localhost:10000/default", "", "");
        Statement stmt = con.createStatement();
        stmt.execute("CREATE DATABASE newdatabase");
        System.out.println("Database userdb created successwdbfully.");
        con.close();
    }
}

运行时出现以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at java.sql.DriverManager.isDriverAllowed(DriverManager.java:556)
    at java.sql.DriverManager.getConnection(DriverManager.java:661)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at com.stpl.hive.jdbc.HiveSample.main(HiveSample.java:18)

我是否缺少要添加到项目中的任何其他 jar?请帮我解决这个错误。我正在使用 Hive 2.3.2 版本。请问我是否需要任何其他细节来解决它。

【问题讨论】:

    标签: java jdbc hive derby noclassdeffounderror


    【解决方案1】:

    java.lang.NoClassDefFoundError 在运行时不存在类定义时发生。

    无法初始化类 org.apache.derby.jdbc.AutoloadedDriver40

    您似乎缺少 derby 的驱动程序库,可以通过包含 derby-10.5.3.0.jar 来解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多