使用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