1. 程式人生 > >使用ant編譯Java程式設計思想出現時 java.lang.UnsupportedClassVersionError: Bad version number in .class問題

使用ant編譯Java程式設計思想出現時 java.lang.UnsupportedClassVersionError: Bad version number in .class問題

問題詳情如下圖所示


解決方法是將TIJ4/code/build.xml中的net/build.xml刪除即可編譯成功,過段時間後確定是當前所用的javassist.jar與jdk 1.5.0_22 不相容造成這個原因,之前javaassisst.jar使用的是3.16.1版本,經測試確定3.15.0版本和1.5.0_22版本相容

To know the version number, type this command:

% java -jar javassist.jar

可測試當前使用的jar版本和JDK版本是否相容

不需要刪除TIJ4/code/build.xml中的net/build.xml,更改javassit.jar版本後編譯效果圖



將jdk/jre/lib/javaws.jar的jar包加入到classpath後,再次使用ant編譯效果如下圖


從錯誤提示分析可知是swt.jar的版本與Java 1.5.0_22不相容,將swt版本從4.7轉為3.7.2,在目錄C:\TIJ4\code目錄下執行ant build,編譯成功。

編譯成功的效果圖如下


Java程式設計下載地址  Think in Java 4th code sample


我使用的是 1.5.0_22 下載地址 jdk-1_5_0_22

需要有官網自己的賬號即可下載jdk-1_5_0_22-windows-i586-p.exe成功。


作業系統:windows7 32bit

ant:apache-ant-1.9.9


參考地址 1.http://www.mindviewinc.com/TIJ4/CodeInstructions.html

                2.http://www.cnblogs.com/BJUT-2010/p/4522762.html

                3.http://www.cnblogs.com/activity-life/archive/2012/07/12/2587266.html