Java Hive JDBC 连接给出 NoClassDefFoundError

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/24384988/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 11:53:43  来源:igfitidea点击:

Hive JDBC connection giving NoClassDefFoundError

javajdbchive

提问by kn_pavan

I am trying to create a connection and getMataData() for my local hive server instance (thrift).

我正在尝试为我的本地配置单元服务器实例(节俭)创建一个连接和 getMataData()。

Following is the code I am trying:

以下是我正在尝试的代码:

Class cl = Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
Connection conn = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
DatabaseMetaData data = conn.getMetaData();
System.out.println(data.toString());

But I am getting following Exception:

但我收到以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/metastore/api/MetaException at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at my.work.DataSourceConnectionCheck.checkHiveConnection(DataSourceConnectionCheck.java:23) at my.work.DataSourceConnectionCheck.main(DataSourceConnectionCheck.java:67) Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.metastore.api.MetaException at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 5 more

线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/hadoop/hive/metastore/api/MetaException at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104) at java.sql .DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at my.work.DataSourceConnectionCheck.checkHiveConnection(DataSourceConnectionCheck.java:23) at my.work.DataSourceConnectionCheck.main( DataSourceConnectionCheck.java:67) 由:java.lang.ClassNotFoundException: org.apache.hadoop.hive.metastore.api.MetaException at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController .doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader。loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 5 更多

Can any one please let me know which jar I missed?

谁能告诉我我错过了哪个罐子?

采纳答案by DanielBarbarian

The org.apache.hadoop.hive.metastore.api.MetaExceptionclass is in the hive-metastorejar file

org.apache.hadoop.hive.metastore.api.MetaException班是在hive-metastorejar文件