一個同學前幾天遇到一個問題,今天我試著看了一下。
項目沒有錯誤,在項目部署到tomcat后,tomcat啟動時報錯:
java.lang.UnsupportedClassVersionError: Bad version number in .class file 。。。
這個問題我原來遇到過,原因應該是編譯java時生成的class文件,在運行時用到的JRE和class文件版本不一致造成的。
1 如果是一般的java程序:
可以在MyEclipse中修改JRE的路徑和版本。在Window->Preferences中,打開如下位置,就可修改JRE:

修改完之后,最好重新編譯一下,選Project->Clean... 選項,然后選擇是所有的項目都要重新編譯,還是只重新編譯指定的項目,然后就應該沒問題了。
今天一開始我也是這么做的,但是還是報錯,在網上搜了一下之后,因為這是Web項目,程序當然是在Tomcat上運行的,所以我們這么改當然不行。
2 如果是Web 程序
就要修改Tomcat運行時的JDK環境了,如下圖:

把JDK的路徑和之前Installed JRE的設置成一樣的,這個問題就解決了!(雖然這里面設置的是JDK的路徑,但是我覺得其實就是在設置JRE的路徑,因為java程序運行的時候需要的 是JRE,而不是JDK。我們裝JDK的時候,一般都裝了2個JRE,一個是JDK里面的JRE,還有一個和JDK平級的JRE,剛才我上網查了一下,這 兩個JRE的區別不大,大家也可以去查一下,每次都可以選擇任何一個JRE,但是之后配置的吆喝前面的一致。)
如果不清楚JDK和JRE的關系的,可以上網查一下。
一般情況下,我們運行別人的程序可能會遇到這個問題。
再做個小小的延伸。。
這個項目編譯并沒有報錯,如果我們導入別人的項目之后,出現了很多錯誤,那就是JDK版本的問題了,可以在這里修改:

可以選擇1.3,1.4,5.0,6.0.