这个问题是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行而产生的错误。
1、解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。我用的是1.7.0_80。
2、版本一致却还是还是解决不了问题,我不是直接在命令行中用javac来编译的,而是用的eclipse的编译器来编译的。因为很多编译器都自带javac,而不是采用操作系统中的编译器。如果你的编译器是eclipse的话,那么需要在项目的属性里设置jdk版本,方法是右击项目-->properties-->java compiler --> Enable project specific settings -->将compiler compliance level设置为1.7,也就是与jvm一致的版本(在命令行中java -version所显示的版本)。由于以前兼容其他软件的需要我把JAVA版本从1.8降低成了1.7,但是eclipse没有动过,所以打开以后发现默认的是1.8,于是手动降为1.7,重新编译,终于通过!
综上,如果你是用编译器来编译的话,请首先确保编译器自带的jdk版本和操作系统中的java版本一致。
截图如下:
---------------------
作者:YaoEmily
来源:CSDN
原文:https://blog.csdn.net/baidu_27280587/article/details/50297837
版权声明:本文为博主原创文章,转载请附上博文链接!
原文地址:https://www.cnblogs.com/hfumin/p/10658053.html