Thinking in Java 源码的获取以及编译问题

本文介绍了如何在国内获取《Thinking in Java》的源代码,通过ANT编译过程中遇到的问题及解决方法,包括配置ANT环境、解决JDK版本错误和编译错误。

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

一、获得源代码:

最近开始学习〈Java编程思想〉,到第三章的时候,碰到书上用到的第三方提供的源代码。按照书上的说法,到作者官网去下载,但是发现我的网络无法访问这个网站。千辛万苦在国内的网站找到了源代码。现在将源代码发布在了我的资源处,可以从这里得到:

http://download.youkuaiyun.com/detail/pdcxs007/6827401


二、获得ANT程序

另外,需要安装ant程序。ant可以在其官网免费获得:

http://ant.apache.org/bindownload.cgi


选择相应的压缩格式下载即可。也可以在我的资源处下载:

http://download.youkuaiyun.com/detail/pdcxs007/6827415


三、配置ANT程序

下载完成后,将ant解压到一个目录,如:D:\ant 。配置过程为:在环境变量中,添加:

1、新建变量ANT_HOME,设置其值为:D:\ant,即解压目录,注意没有分号。

2、在PATH中添加:%ANT_HOME%\bin,即解压目录下的bin文件夹。

验证:在命令行下输入:ant,如果显示如下,则配置成功:



四、编译源代码碰到的问题

因为是要用书目提供的第三方类,所以我只编译了com文件。用命令行进入com文件夹,输入ant,提示以下错误:

[CheckVersion] Exception in thread "main" java.lang.RuntimeException: JDK 1.4.1 or higher is required to run the examples in this book.

[CheckVersion]at com.bruceeckel.tools.CheckVersion.main(Unknown Source)


我用的是Java 1.7.0,应该是满足要求的,所以是编译文件的问题。

按照提示,找到com\bruceeckel\tools\CheckVersion.java

打开后,找到其检查版本的代码,发现有错误:


我的point为0,因此if条件符合了……所以将其改为:

if( minor < '4' || (minor == '4' && point < '1' ))
再次编译,发现版本没有问题,但是还有以下错误:

错误: 无法将类 String中的方法 compareTo应用到给定类型;


类型不匹配,因此需要一个类型转换,将com\bruceeckel\simpletest\outputVerifier.java中的第45行:

 ((String) out[i]).compareTo(expected[i]) < 0
改为:

 ((String) out[i]).compareTo((String)expected[i]) < 0
再次编译,虽然还有警告,但是终归是成功了。


将com文件夹复制到CLASSPATH的指定目录下面或者将com文件夹的目录添加到CLASSPATH系统变量中,就可以直接使用书目提供的类了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值