java.lang.ClassNotFoundException:org.apache.hadoop.hive.jdbc.HiveDriver在eclipse中

java.lang.ClassNotFoundException:org.apache.hadoop.hive.jdbc.HiveDriver在eclipse中,java,hadoop,hive,Java,Hadoop,Hive,我还添加了usr/local/share/hadoop/mapreduce/*jars、usr/local/hadoop/common、hive-exec-xxx.jar、hive-metastore-xxx.jar和hive-jdbc-xxx.jar的所有jar文件 蜂巢终端工作正常 我的代码是: private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; try { Class.f

我还添加了usr/local/share/hadoop/mapreduce/*jars、usr/local/hadoop/common、hive-exec-xxx.jar、hive-metastore-xxx.jar和hive-jdbc-xxx.jar的所有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)

在您的代码中,没有正确提到配置单元的驱动程序类。应该 我的建议如下

私有静态字符串driverName=“org.apache.hive.jdbc.HiveDriver”

如果上述更改不能解决您的问题,则意味着jar文件不在需要明确添加的类路径上

对于基于maven的项目,您只需添加HiveJDBCJAR的依赖项

如果未使用maven,请在eclipse中执行以下步骤:

选择项目->生成路径->配置生成路径->库-> 添加外部JAR->选择配置单元jdbc/hive exec/hive服务JAR的路径


除了配置单元JAR,您还需要添加其他依赖JAR作为http核心、http客户端、hadoop common、commons logging、slf4j JAR。

在您的代码中,配置单元的驱动程序类被错误地提到。应该 我的建议如下

私有静态字符串driverName=“org.apache.hive.jdbc.HiveDriver”

如果上述更改不能解决您的问题,则意味着jar文件不在需要明确添加的类路径上

对于基于maven的项目,您只需添加HiveJDBCJAR的依赖项

如果未使用maven,请在eclipse中执行以下步骤:

选择项目->生成路径->配置生成路径->库-> 添加外部JAR->选择配置单元jdbc/hive exec/hive服务JAR的路径

除了配置单元jar之外,您还需要添加其他依赖jar作为http核心、http客户端、hadoop common、commons logging、slf4j jar。

确保您想要哪个jar(配置单元)。。因为它有不同的版本 旧的威瑞森罐是

org.apache.hadoop.hive.jdbc.HiveDriver
这是你的电话号码

最新的jar是
org.apache.hive.jdbc.HiveDriver

请检查您的依赖关系

确定您想要哪个jar(蜂巢)。。因为它有不同的版本 旧的威瑞森罐是

org.apache.hadoop.hive.jdbc.HiveDriver
这是你的电话号码

最新的jar是
org.apache.hive.jdbc.HiveDriver


请检查您的依赖关系

如果您真的想在项目中包含Hadoop库,我建议您使用Maven/Gradle。ApacheSpark也更容易集成到Hadoop代码中,因为它不在运行时类路径中。如果你能使用cricket_007建议会更好。我是hadoop新手,你能解释一下如何检查驱动程序类是否在正确的类路径中吗。如果你真的想在项目中包含hadoop库,我建议你使用Maven/Gradle。ApacheSpark也更容易集成到Hadoop代码中,因为它不在运行时类路径中。如果您可以使用cricket_007建议会更好。我是hadoop新手,您能解释一下如何检查驱动程序类是否在正确的类路径中。将“org.apache.hadoop.hive.jdbc.HiveDriver”更改为“org.apache.hive.jdbc.HiveDriver”后,显示错误“找不到适合jdbc的驱动程序”:hive://localhost:10000/default"。您是否已将依赖项JAR添加到类路径中?同时,在将“org.apache.hadoop.hive.jdbc.HiveDriver”更改为“org.apache.hive.jdbc.HiveDriver”后,在形成连接字符串时,您需要使用“jdbc:hive2://:/”@PraveenParihar use
jdbc:hive2://
,显示错误“找不到适合jdbc的驱动程序:hive://localhost:10000/default"。您是否已将依赖项jar添加到类路径中?在形成连接字符串时,您还需要使用“jdbc:hive2://:/”@PraveenParihar use
jdbc:hive2://