[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

目录
相关文章
|
14天前
|
Java 编译器 Maven
Java“class file contains wrong class”解决
当Java程序运行时出现“class file contains wrong class”错误,通常是因为类文件与预期的类名不匹配。解决方法包括:1. 确保类名和文件名一致;2. 清理并重新编译项目;3. 检查包声明是否正确。
|
27天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
41 3
|
1月前
|
Java
让星星⭐月亮告诉你,Java synchronized(*.class) synchronized 方法 synchronized(this)分析
本文通过Java代码示例,介绍了`synchronized`关键字在类和实例方法上的使用。总结了三种情况:1) 类级别的锁,多个实例对象在同一时刻只能有一个获取锁;2) 实例方法级别的锁,多个实例对象可以同时执行;3) 同一实例对象的多个线程,同一时刻只能有一个线程执行同步方法。
18 1
|
1月前
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
46 1
|
2月前
|
Java
java基础(4)public class 和class的区别及注意事项
本文讲解了Java中`public class`与`class`的区别和注意事项。一个Java源文件中只能有一个`public class`,并且`public class`的类名必须与文件名相同。此外,可以有多个非`public`类。每个类都可以包含一个`main`方法,作为程序的入口点。文章还强调了编译Java文件生成`.class`文件的过程,以及如何使用`java`命令运行编译后的类。
36 3
java基础(4)public class 和class的区别及注意事项
|
1月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
38 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
2月前
|
Java
java的class类
java的class类
33 5
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
1月前
|
Java
Error:java: 无效的目标发行版: 11解决方案
Error:java: 无效的目标发行版: 11解决方案
68 0
|
2月前
|
Java
6-17|java error
6-17|java error