gpt4 book ai didi

java - java.lang.UnsupportedClassVersionError不支持的major.minor版本51.0 rhdfs

转载 作者:行者123 更新时间:2023-12-02 21:34:49 25 4
gpt4 key购买 nike

我知道这与Java版本在编译和运行时之间的差异有关,但是我认为我已经正确设置了所有环境变量,因此我真的不知道这仍然是导致此问题的原因。

$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
$ javac -version
java 1.7.0_79
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
$ hadoop version
Hadoop 2.7.1

在RStudio中,我有
> Sys.getenv("JAVA_HOME")
[1] "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home"
> library(rhdfs)
Loading required package: rJava

HADOOP_CMD=/usr/local/Cellar/hadoop/2.7.1/bin/hadoop

Be sure to run hdfs.init()
Warning message:
package ‘rJava’ was built under R version 3.1.3
> hdfs.init()
Error in .jnew("org/apache/hadoop/conf/Configuration") :
java.lang.UnsupportedClassVersionError: org/apache/hadoop/conf/Configuration : Unsupported major.minor version 51.0

我也将Hadoop的hadoop-env.sh中的$ JAVA_HOME设置为1.7.0
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

如果有人能指出这里发生的事情,我将不胜感激。

最佳答案

您毫无疑问地四处搜寻,发现Java“主要”版本51为1.7,因此您已经接近。

对我来说,您真正可以弄清楚的唯一清楚的方法是,仔细检查Class文件-org.apache.hadoop.conf.Configuration。以下是Class file的开始定义。请注意,minor_versionmajor_version分别是第二字段和第三字段。那应该告诉您该类在什么下编译,因此需要执行的最少运行时间。

struct Class_File_Format {
u4 magic_number;

u2 minor_version;
u2 major_version;

u2 constant_pool_count;

cp_info constant_pool[constant_pool_count - 1];

u2 access_flags;

关于java - java.lang.UnsupportedClassVersionError不支持的major.minor版本51.0 rhdfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33088218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com