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

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,如图:

Eclipse运行main类抛出异常:Unsupported major.minor version 52.0_第1张图片


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

Eclipse运行main类抛出异常:Unsupported major.minor version 52.0_第2张图片


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

Eclipse运行main类抛出异常:Unsupported major.minor version 52.0_第3张图片


       出现问题后,第一时间在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”。

Eclipse运行main类抛出异常:Unsupported major.minor version 52.0_第4张图片


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

Eclipse运行main类抛出异常:Unsupported major.minor version 52.0_第5张图片




你可能感兴趣的:(Java)