ClassNotFoundException:org.apache.hive.jdbc.HiveDriver [英] ClassNotFoundException: org.apache.hive.jdbc.HiveDriver

查看:1078
本文介绍了ClassNotFoundException:org.apache.hive.jdbc.HiveDriver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对Java很陌生。我试图连接到从 https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC

  import java.sql.SQLException; 

public class HiveJdbcClient {
// private static String driverName =org.apache.hive.jdbc.HiveDriver;
public static void main(String [] args)throws SQLException {
try {
Class.forName(org.apache.hive.jdbc.HiveDriver);
} catch(ClassNotFoundException e){
// TODO自动生成的catch块
e.printStackTrace();
System.exit(1);
}
}
}

需要的位置并更新了pom文件,但是获得了

  java.lang.ClassNotFoundException:org.apache.hive.jdbc.HiveDriver在java.net.URLClassLoader.findClass(URLClassLoader.java:381)
在java.lang.ClassLoader.loadClass(ClassLoader.java:424)

。在sun.misc.Launcher $ AppClassLoader .loadClass(Launcher.java:331)
在java.lang.ClassLoader.loadClass(ClassLoader.java:357)
在java.lang.Class.forName0(本机方法)
是java .lang.Class.forName(Class.java:264)
在HiveJdbcClient.main(HiveJdbcClient.java:7)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在阳光下.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java :49 7)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

我搜索了一段时间的解决方案,但无法解决它。请让我知道如何解决这个问题。

解决方案

这是由于hivesever2版本不匹配造成的。如果Hive版本超过0.13,那么您可能必须使用它。

 <依赖关系> 
< groupId> org.apache.hive< / groupId>
< artifactId> hive-jdbc< / artifactId>
< version> 1.1.0< / version>
< /依赖关系>

另外,请确保你在课程路径中添加了这个jar。


I'm pretty new to Java. I'm trying to connect to hive server through java and used sample code from https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC

import java.sql.SQLException;

public class HiveJdbcClient {
    //private static String driverName = "org.apache.hive.jdbc.HiveDriver";
    public static void main(String[] args) throws SQLException {
        try {
            Class.forName("org.apache.hive.jdbc.HiveDriver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.exit(1);
        }
    }
}

I placed all the jars in the required location and updated the pom file, but getting

java.lang.ClassNotFoundException: org.apache.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:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at HiveJdbcClient.main(HiveJdbcClient.java:7)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

I searched for a solution for quite some time, but couldn't solve it. Please let me know how to fix this.

解决方案

This is due to mismatch in hivesever2 version.If Hive version is more than 0.13 then You may have to use this.

<dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>1.1.0</version>
</dependency>

Also make sure you add this jar in you class path..

这篇关于ClassNotFoundException:org.apache.hive.jdbc.HiveDriver的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆