特殊的Eclipse java.lang.UnsupportedClassVersionError错误,Unsupported major.minor version 52.0。

15
首先,我要指出的是,我意识到这个问题已经被问了无数次,并且我知道通常的解决方法。然而,它对我似乎没有作用。
当错误:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/telegram/mtproto/state/ConnectionInfo : Unsupported major.minor version 52.0 发生时,通常是由于使用不兼容的JDK-JRE组合进行编译引起的。但是,如下面的图片所示,我的设置似乎是正确的: 图1. JDK合规性 Fig. 1. JDK Compliance 图2. JRE设置 Fig. 2. JRE Setting 图3. Java主页 Fig. 3. Java Home 问题在哪里?我缺少什么? 我正在使用 Eclipse Luna,尝试运行一些 Telegram API Layer 11 代码(我认为代码是可行的,因为它已经被其他人使用)。

1
你是从命令行还是从Eclipse中运行代码?如果是从Eclipse中运行,你的运行配置是什么样子的?如果是从命令行中运行,请检查你的PATH环境变量。 - Jon Skeet
嗨,@JonSkeet。感谢您对我的问题的关注。我正在使用Eclipse运行。我不知道我的运行配置是什么样子的。我该怎么做才能到达那里? - brain56
@user3580294,我已经尝试过了,问题就从那里开始了,因为错误明确指出它需要版本52.0——也就是Java 8。 - brain56
1
右键单击应用程序->运行为->运行配置->JRE选项卡。将JRE设置为系统中当前可用的JRE。 - Ravinder Reddy
@brain56 我的意思是指编译器和JRE,如果你的代码允许的话。 - awksp
显示剩余4条评论
2个回答

28

JAVA_HOME 环境变量与 Eclipse 运行代码无关,据我所知。同样,您在项目中显示的编译器设置不影响代码的运行。

相反,您需要查看运行时使用的运行配置,并检查其中的环境。确保您正在使用 Java 8,一切都会很好。单击“运行”按钮旁边的三角形图标,选择“运行配置...”以打开带有所有设置的对话框。然后查看 JRE 选项卡,并确保您正在使用正确的 JRE。


1
那花了一些时间。哈哈。谢谢,@JonSkeet :) - brain56
非常感谢,伙计!@Jon-Skeet - FaizanHussainRabbani
你不是很棒吗?谢谢! - Nazerke

0

我看到你有一个32位的JDK版本用于JDK 1.8,以及一个64位的版本用于JDK 1.7。 如果你在64位机器上运行项目,请尝试使用JDK 1.8的64位版本。 注意:你的Eclipse也必须有一个64位版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接