首页 文章

日食中的java.lang.ClassNotFoundException:org.apache.hadoop.hive.jdbc.HiveDriver

提问于
浏览
0

我还添加usr / local / share / hadoop / mapreduce / * jars,usr / local / hadoop / common,hive-exec-xxx.jar,hive-metastore-xxx.jar和hive-jdbc-xxx的所有jars文件 . jar .

蜂巢终端运作良好 .

我的代码是:

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

try {
        Class.forName(driverName);
        Connection con;

        con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");

        Statement stmt = con.createStatement();

        stmt.executeQuery("CREATE DATABASE demodb");
        System.out.println("Database userdb created successfully.");

        con.close();

    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

例外:

java.lang.ClassNotFoundException: org.apache.hadoop.hive.jdbc.HiveDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at hive.CRUDHive.main(CRUDHive.java:15)

2 回答

  • 0

    确定你想要哪个 jar (蜂房)..因为它有不同的版本旧的verison jar

    org.apache.hadoop.hive.jdbc.HiveDriver
    

    这是mvnrepository

    最新的 jar 是 org.apache.hive.jdbc.HiveDriver here is the new settings

    请检查你的依赖

  • 3

    在您的代码中,hive的驱动程序类被错误地提到 . 它应该如下

    private static String driverName =“org.apache.hive.jdbc.HiveDriver”;

    如果上述更改无法解决您的问题,则表示jar文件不在您需要明确添加的类路径中 .

    对于基于maven的项目,您只需添加hive-jdbc jar的依赖项即可 .

    如果你没有使用maven,那么在eclipse中执行以下步骤:

    选择项目 - >构建路径 - >配置构建路径 - >库 - >添加外部 jar - >选择hive-jdbc / hive-exec / hive-service jar的路径

    与hive jar一起,你需要添加其他依赖的jar作为http-core,http-client,hadoop-common,commons-logging,slf4j jars .

相关问题