這個問題是由較高版本的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版本一致。
截圖如下:
原文鏈接:https://blog.csdn.net/baidu_27280587/article/details/50297837