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