使用ant编译Java编程思想出现时 java.lang.UnsupportedClassVersionError: Bad version number in .class问题

在使用Ant编译《Java编程思想》样例代码时遇到`java.lang.UnsupportedClassVersionError`,原因是javassist.jar与JDK 1.5.0_22不兼容。解决方案是将javassist.jar版本降至3.15.0,或者在classpath中添加jdk/jre/lib/javaws.jar,并将swt.jar版本调整至3.7.2,以确保与JDK 1.5.0_22兼容。经过修改,编译成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题详情如下图所示


解决方法是将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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值