[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface

简介: 1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误,然后贴一下解决方法: 1 [root@master bin]# .

1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误,然后贴一下解决方法:

 1 [root@master bin]# ./hive
 2 
 3 Logging initialized using configuration in jar:file:/home/hadoop/soft/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
 4 [ERROR] Terminal initialization failed; falling back to unsupported
 5 java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
 6     at jline.TerminalFactory.create(TerminalFactory.java:101)
 7     at jline.TerminalFactory.get(TerminalFactory.java:158)
 8     at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
 9     at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
10     at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
11     at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
12     at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
13     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
14     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
15     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
16     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
17     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18     at java.lang.reflect.Method.invoke(Method.java:606)
19     at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
20     at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
21 
22 Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
23     at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
24     at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
25     at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
26     at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
27     at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
28     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
29     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
30     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
31     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
32     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
33     at java.lang.reflect.Method.invoke(Method.java:606)
34     at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
35     at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
36 [root@master bin]# 

2:hive里面的 这个jar包是jline-2.12.jar,而hadooop的这个jar包是

<!--hive这个jar包的版本-->
[root@master lib]# ll jline-2.12.jar
-rw-rw-r--. 1 root root 213854 Apr 29  2015 jline-2.12.jar

<!--hadooop的这个jar包版本-->
[root@master lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
-rw-rw-r--. 1 hadoop hadoop 87325 Mar  7  2016 /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
[root@master lib]#

3:解决方法,将hive的新版,替换hadoop的老版本的这个jar包即可:

完成以上操作,重新启动hive即可,完成hive的安装启动。开始学习hive.

 1 [root@master lib]# ll jline-2.12.jar 
 2 -rw-rw-r--. 1 root root 213854 Apr 29  2015 jline-2.12.jar
 3 [root@master lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
 4 -rw-rw-r--. 1 hadoop hadoop 87325 Mar  7  2016 /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
 5 [root@master lib]# rm /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
 6 rm: remove regular file `/home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar'? y
 7 [root@master lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
 8 ls: cannot access /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar: No such file or directory
 9 [root@master lib]# cp jline-2.12.jar /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/
10 [root@master lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
11 ls: cannot access /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar: No such file or directory
12 [root@master lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-2.12.jar 
13 -rw-r--r--. 1 root root 213854 Dec  9 19:10 /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-2.12.jar
14 [root@master lib]# 

停更......

2017-12-10 11:11:16

目录
相关文章
|
7天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
32 7
|
6天前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
30 5
|
1月前
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
38 11
|
3月前
|
Java 编译器 Maven
Java“class file contains wrong class”解决
当Java程序运行时出现“class file contains wrong class”错误,通常是因为类文件与预期的类名不匹配。解决方法包括:1. 确保类名和文件名一致;2. 清理并重新编译项目;3. 检查包声明是否正确。
82 3
|
4月前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
87 3
|
4月前
|
Java
让星星⭐月亮告诉你,Java synchronized(*.class) synchronized 方法 synchronized(this)分析
本文通过Java代码示例,介绍了`synchronized`关键字在类和实例方法上的使用。总结了三种情况:1) 类级别的锁,多个实例对象在同一时刻只能有一个获取锁;2) 实例方法级别的锁,多个实例对象可以同时执行;3) 同一实例对象的多个线程,同一时刻只能有一个线程执行同步方法。
35 1
|
4月前
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
117 1
|
4月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
78 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
3天前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
36 14
|
6天前
|
安全 Java 程序员
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
34 13