복붙노트

[HADOOP] java.lang.ClassNotFoundException가 : 이클립스 org.apache.hadoop.hive.jdbc.HiveDriver

HADOOP

java.lang.ClassNotFoundException가 : 이클립스 org.apache.hadoop.hive.jdbc.HiveDriver

또한 usr / 지방 / 주 / 하둡 / 맵리 듀스는 / * 항아리, usr / 지방 / 하둡 / 일반, 하이브 - 간부 - xxx.jar, 하이브 - 메타 스토어 - xxx.jar 및 하이브 - JDBC-XXX의 모든 단지 파일을 추가하고 .항아리.

잘 작동 하이브 터미널.

내 코드는 다음과 같습니다

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)

해결법

  1. ==============================

    1.그것은 다른 버전을 가지고 있기 때문에 당신이 ... 원하는 않도록하는 항아리 (하이브) 확인 이전 버전 항아리입니다

    그것은 다른 버전을 가지고 있기 때문에 당신이 ... 원하는 않도록하는 항아리 (하이브) 확인 이전 버전 항아리입니다

    org.apache.hadoop.hive.jdbc.HiveDriver
    

    여기 mvnrepository입니다

    및 최신 항아리 여기 org.apache.hive.jdbc.HiveDriver입니다 새 설정입니다

    당신의 의존성을하시기 바랍니다 확인

  2. ==============================

    2.당신의 코드에서 하이브 드라이버 클래스가 잘못 언급되어있다. 그것은 다음과 같이해야한다

    당신의 코드에서 하이브 드라이버 클래스가 잘못 언급되어있다. 그것은 다음과 같이해야한다

    위의 변경 문제가 해결되지 않으면 다음은 jar 파일은 사용자가 명시 적으로 추가 할 필요가 클래스 경로에없는 것을 의미한다.

    받는다는 기반 프로젝트를 위해 당신은 하이브 - JDBC를 항아리에 대한 종속성을 추가 할 수 있습니다.

    당신이 받는다는 사용하지 않는 경우 다음 일식에서 다음 단계를 수행 :

    하이브 항아리와 함께 당신은 HTTP 코어, HTTP 클라이언트, 하둡 - 일반, 평민 로깅, SLF4J 단지 같은 다른 의존 단지를 추가해야합니다.

  3. from https://stackoverflow.com/questions/45390253/java-lang-classnotfoundexception-org-apache-hadoop-hive-jdbc-hivedriver-in-ecli by cc-by-sa and MIT license