低版本的jdk執行高版本jdk編譯後的class文件失敗

異常信息:blog

緣由:虛擬機

高版本的JDK能向下兼容之前版本的class文件,但不能運行之後版本的class文件,即便文件格式未發生任何變化,虛擬機也必須拒絕執行超過其版本號的class文件。編譯

除源文件之外,可能依賴的jar包文件,也須要了解是哪一個版本的jdk編譯後的。class

解決方案:jdk

用相同版本的jdk編譯,用同種版本的jdk運行編譯後的代碼;或者用低版本的jdk編譯,而後用高版本的jdk運行。im