2 回答

TA貢獻1816條經(jīng)驗 獲得超6個贊
這個問題確實是由較高版本的JDK編譯的java class文件試圖在較低版本的JVM上運行產(chǎn)生的錯誤。
1、解決措施就是保證jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,則在命令行中分別輸入java -version和javac -version命令來查看版本是否一致。這里假設(shè)都是1.7版本。
2、如果都一致,但還是解決不了問題,那么你肯定不是直接在命令行中用javac來編譯的,而是用類似于eclipse、netbeans這樣的編譯器來編譯的。因為很多編譯器都自帶javac,而不是采用操作系統(tǒng)中的編譯器。如果你的編譯器是eclipse的話,那么需要在項目的屬性里設(shè)置jdk版本,方法是右擊項目-->properties-->java compiler --> Enable project specific settings -->將compiler compliance level設(shè)置為1.7,也就是與jvm一致的版本(在命令行中java -version所顯示的版本)。
綜上,如果你是用編譯器來編譯的話,請首先確保編譯器自帶的jdk版本是否和操作系統(tǒng)中的java版本一致。

TA貢獻1805條經(jīng)驗 獲得超9個贊
這個問題確實是由較高版本的JDK編譯的java class文件試圖在較低版本的JVM上運行產(chǎn)生的錯誤,可以通過下述方法進行解決:
1、檢查jvm(java命令)和jdk(javac命令)版本是否一致。如果是linux版本,則在命令行中分別輸入java -version和javac -version命令來查看版本是否一致。
2、如果都一致,但還是解決不了問題,那么肯定不是直接在命令行中用javac來編譯的,而是用類似于eclipse、netbeans這樣的編譯器來編譯的。因為很多編譯器都自帶javac,而不是采用操作系統(tǒng)中的編譯器。
3、如果你的編譯器是eclipse的話,那么需要在項目的屬性里設(shè)置jdk版本,方法是右擊項目-->properties-->java compiler --> Enable project specific settings -->將compiler compliance level設(shè)置為1.7,即可解決問題。
添加回答
舉報