0


关于解决java.lang.UnsupportedClassVersionError的相关问题以及应对方法

近日,我在学习Hadoop时,在IDEA里将写好的java代码打包成jar,再用winscp传进Linux虚拟机里,使用hadoop jar XXX.jar XXX 命令运行时报错:

java.lang.UnsupportedClassVersionError: hello_world has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0

他的意思就是我们用IDEA写的代码版本不能在linux上运行,Linux和这个代码的版本冲突,Linux最高支持52.0(也就是Java8,使用的jdk版本是jdk1.8),我用的是60.0(也就是Java16,jdk16),代码的版本太高。

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19

因此我找到了这样的解决办法:

    在Idea里重新创建一个项目,选择版本为jdk1.8

如果自己电脑没有这个,点这里下载一下就ok

选择完,然后下一步,创建项目路径,之后把Hadoop需要的jar包放到这个目录,写好一个测试Java代码,重新构建这个代码的jar文件,重新传进虚拟机里就可以运行了。

public class hello_world {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

成功解决!

这样就不用单独在Windows电脑上重新安装jdk。

原文链接:https://blog.csdn.net/u012108336/article/details/126991353

标签: java linux 开发语言

本文转载自: https://blog.csdn.net/weixin_51912767/article/details/129819919
版权归原作者 roc-9 所有, 如有侵权,请联系我们删除。

“关于解决java.lang.UnsupportedClassVersionError的相关问题以及应对方法”的评论:

还没有评论