JDBC 连接hive2, 程序挺简单, 跟其他数据库查询类似, 连接/执行查询/得到结果

package hive.server2.query;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class ApiQueryTest {

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

public static void main(String[] args){

try {

Class.forName(driverName);

Connection con = null;

con = DriverManager.getConnection("jdbc:hive2://10.68.128.215:10000", "root", "WoLeGeQu");

Statement stmt = con.createStatement();

ResultSet res = null;

String sql = "select * from api_logs";

System.out.println("Running: " + sql);

res = stmt.executeQuery(sql);

System.out.println("ok");

while (res.next()) {

System.out.println(res.getString(1) + "\t" + res.getString(2) + "\t" + res.getString(3) + "\t" + res.getString(4));

}

} catch (Exception e) {

e.printStackTrace();

System.out.println("error");

}

}

}

本地 MyEclipse10, Ctrl+F11 运行正常, 但打包到虚拟机下就不行了, 报错:

[root@localhost test]# java -jar HiveQueryTest.jar

java.lang.ClassNotFoundException: org.apache.hive.jdbc.HiveDriver

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:191)

at hive.server2.query.ApiQueryTest.main(ApiQueryTest.java:24)

error

说找不到org.apache.hive.jdbc.HiveDriver,  想写个shell, 把 $HIVE_LIB目录下jar 都加到CLASSPATH应该行了吧, 结果还是报这个, 都没道理了...

解决办法 1

改成了MANIFEST.MF 加Class-Path, 把需要的jar包的写在这里, 结果OK, 需要注意的是, Class-Path: 冒号后面需要一个空格, 否则会报错:

Error: Invalid or corrupt jarfile HiveQueryTest.jar

Class-Path 后面加上两个jar 包基本就可以:

Class-Path: /home/hive/apache-hive-2.1.0-bin/test/lib/hive-jdbc-2.1.0-standalone.jar /home/hive/apache-hive-2.1.0-bin/test/lib/hadoop-common-2.7.0.jar

再次上传, 运行OK

解决办法 2

讲程序与依赖的包一起打包 , 在Export 对话框中选择: Runnable JAR file 也可以

java连接hive类找不着_JDBC 连接 hive2 遇到的java.lang.ClassNotFoundException: org.apache.hive.jdbc.HiveDriver...相关推荐

  1. Hive启动报错:java.lang.ClassNotFoundException: org.apache.tez.dag.api.TezConfiguration

    <!--Hive启动报错:Caused by: java.lang.ClassNotFoundException: org.apache.tez.dag.api.TezConfiguration ...

  2. hive on spark 配置时报错:Job failed with java.lang.ClassNotFoundException: org.apache.spark.AccumulatorPa

    1.执行sql语句,报错信息. hive> insert into table student values(1,'abc'); Query ID = atguigu_2020081415001 ...

  3. hive查询hudi表使用count报java.lang.ClassNotFoundException: org.apache.hudi.hadoop.HoodieParquetInputFormat

    问题描述: hive 查询hudi 报错, 已将hudi 对应包hudi-hadoop-mr-bundle-0.9.0.jar放入lib目录下并重启hive select count(1) from ...

  4. IDEA导入MySQL的jdbc驱动出现“java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver”

    目录 一.一般的解决思路 1.JDBC下载链接 2.选择下载内容,并进行下载 3.将驱动导入java项目 二.依然导入驱动失败怎么办 当我们在idea中使用java操作mysql数据库时会出现: Ex ...

  5. 一次java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession异常解决

    一次整合框架时,出现找不到类的异常,如下图所示 java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession 详细报错信息如 ...

  6. java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.Struts问题解决

    在eclipse中新建了ssh项目报错:1.java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.ng.filter.Strut ...

  7. java.lang.ClassNotFoundException: org.apache.commons.fileupload.disk.DiskFileItemFactory

    您好,我是码农飞哥,感谢您阅读本文!本文主要介绍文件上传报的错 问题复现 [dispatcherServlet] in context with path [/coep-rest] threw exc ...

  8. java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser

    MyEclipse报错: Warning: Caught exception attempting to use SAX to load a SAX XMLReader Warning: Except ...

  9. 集群提交HBase代码报错:Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguratio

    原因分析 HBase官网 已经告诉我们原因以及解决方法了: 原因: 默认情况下,部署到MapReduce群集的MapReduce作业无法访问$ HBASE_CONF_DIR下的HBase配置或HBas ...

  10. java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession

    默默记录一个被自己蠢死的错误!!! 原本可以运行的项目突然报错了..!!然后自己很纳闷,因为什么都没有改,就排了两个jar冲突,百思不得其解..然后各种百度各种找问题,就是死活找不到..知道后来认认真 ...

最新文章

  1. 小猿圈Python之实现京东秒杀功能代码
  2. Scala入门到精通——第二十九节 Scala数据库编程
  3. LeetCode_349. 两个数组的交集
  4. java继承总结_java继承总结(二)
  5. 深度学习入门|第5章 误差反向传播法(二)
  6. 用开源代码如何建立网站_糖尿病患者找到开源并建立自己的医疗设备
  7. java/02/java运算符,java逻辑控制,java方法的定义及使用
  8. 抗衰老,吃这些食物越来越年轻
  9. 古风祥云PNG免抠素材,喜欢吗?
  10. php mysql修复_php简单备份与还原MySql的方法 | 瑕疵学院 – 学习无瑕疵,成就有保障...
  11. 用bcp实现的存储过程 导整个数据库
  12. Java基础0309
  13. Detours信息泄漏漏洞
  14. Halcon 入门教程
  15. 电脑qq微信等软件可以上网,浏览器无法上网,电脑浏览器提示代理服务器连接失败
  16. 苹果计算机开机进入安全模式,iphone进入安全模式及退出安全模式的方法
  17. 清音驱腐启鸿蒙,竹韵清音-格律诗词41期
  18. 小米用户画像_小米10/10pro的目标用户画像是怎样的呢??
  19. 【年度总结系列 2019】2019 时不我与
  20. 离散点插值反距离加权法IDW C#实现

热门文章

  1. Rust: 用于量化研究的尝试探讨
  2. 首届!「中国云计算基础架构开发者大会」征稿启动
  3. 蚂蚁金服研究员何征宇:系统软件和开源都是手段,不是目的
  4. centos7 mysql安装_CentOS7安装MySQL(详解)
  5. 【优化算法】亨利气体溶解度优化算法(HGSO)【含Matlab源码 127期】
  6. 毕设题目:Matlab图像增强
  7. 【语音分析】基于matlab短时自相关基音周期检测+LPC预测增益计算【含Matlab源码 1517期】
  8. 【优化布局】基于matlab GUI遗传算法求解PCB元器件布局优化问题【含Matlab源码 694期】
  9. 解散群通知怎么写_德云社演员私联初二女生,随后德云社全员退出粉丝群,什么情况?...
  10. java double 丢精度_Java中double类型精度丢失的问题