您的位置:首页 > 编程语言 > Java开发

Eclipse运行main类抛出异常:Unsupported major.minor version 52.0

2017-07-05 17:06 525 查看
Eclipse运行main类抛出异常:Unsupported major.minor version 52.0

IDE:Eclipse Jee Neon

JDK:jdk1.8

操作系统:WIN7

       在Eclipse中创建已经存在的项目project,导入项目前,Eclipse中使用JDK1.8编译程序。导入项目后,发现有程序编译错误,其中一个类包需要JDK1.6中的文件。所以,在系统的环境变量中修改JAVA_HOME的JDK路径,修改Eclipse中JDK编译版本为1.6,如图:



       同时,又修改项目使用的JDK版本,如图:



       修改保存后,程序编译错误消失,项目没有错误。运行一个项目启动类,其中有main方法。使用debug方式运行后,控制台报错:Unsupported major.minor version 52.0而抛出此异常的是ClassLoader抛出的,同时JVM还会弹出一个错误框,如图:



       出现问题后,第一时间在main方法的第一行添加断点,运行程序尝试着是否会走进断点。结果是程序并没有走进main方法的断点上。再结合抛出的异常和JVM弹出的提示框,可以判断是JVM在加载类文件的时候发生的错误,与程序代码无关。

       回想了下之前导入项目的操作,可以确定是JDK版本导致的问题。

       出现错误的原因是,因为在导入项目之前,是在JDK1.8的环境下导入的,也就是使用了高版本的JDK编译class文件。之后,又突然换掉了之前高版本的JDK1.8,换成了低版本的JDK1.6,又使用了低版本的JDK1.6进行程序的运行。两者的JDK版本不一致导致出现这个问题。

解决方法:

       重新删除项目,在JDK1.6版本下重新导入项目,Eclipse中修改JDK编译版本和项目程序开发使用的JDK版本。保持编译JDK版本和运行JDK的一致性。

       当出现这个问题后,还可以在一个地方查看相关信息,能够快速排查问题。在Eclipse界面中,打开“Debug Configurations”。



       然后在左侧列表中找到要启动项目的启动项名称,点击名称会在右侧面板出现相关启动信息。这时要注意右侧面板中的JRE的内容,检查是否报错,同时如果报错的话,会在界面的上
4000
方出现相应的错误信息。如上述问题,在这个地方机会出现相应的错误信息。通过错误信息可以快速排查相应的问题。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: