如何修复java.lang.unsupportedclassversionerror:不支持的主要版本次要版本

lf3rwulv  于 2021-06-29  发布在  Java
关注(0)|答案(19)|浏览(765)

我正在尝试使用notepad作为我的综合工具编辑、运行、编译等。
我已经安装了jre,并且已经将path变量设置到 .../bin 目录。
当我在notepad
中运行“hello world”时,我得到以下消息:

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

我认为问题在于版本;java的某些版本可能是旧的或太新的。
我该怎么修?
我应该安装jdk,并将path变量设置为jdk而不是jre吗?
这两者有什么区别 PATH jre或jdk中的变量?

x0fgdtte

x0fgdtte16#

当我安装JDK1.7时,问题得到了解决。

qpgpyjmq

qpgpyjmq17#

别担心,我已经解决了。
它实际上很简单—您需要用相同的版本安装两个jre/jdk。
jre 6->jdk 6
jre 7->jdk 7
等等。

rggaifut

rggaifut18#

在eclipse中运行ant时,我收到了相同的错误消息,但是这里提到的其他解决方案并没有解决我的问题。有趣的是,从windows命令行运行ant运行得很好,所以这必须是eclipse中的一个配置问题。
事实证明,在eclipse下,您可以指定ant应该运行的环境,并将其设置为jre而不是jdk。
转到:运行->外部工具->外部工具配置。。。
为您的项目选择ant build.xml(如果您有多个项目)
激活选项卡“jre”
这里选择了“单独的jre:jre6”。当我将它从1.6或1.7系列更改为jdk时,错误消失了。

mm9b1k5b

mm9b1k5b19#

java.lang.UnsupportedClassVersionError 发生这种情况的原因是编译时jdk较高,运行时jdk较低。

相关问题