Java程序设计:原理与范例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 JDK安装及环境配置

与其他任何编程语言一样,编程之前需要安装和配置开发环境。对于Java来说,这个开发环境就是JDK(Java Development Kit, Java开发工具包)。考虑到大多数读者使用的是Windows操作系统,下面以Windows XP为例,讲解Java开发环境的安装和配置对于其他Windows操作系统也是类似的,Linux及其他平台下的安装和配置请读者查阅有关资料。

1.4.1 下载与安装

进入Oracle官方网站(www.oracle.com),在页面顶部的导航栏依次选择Downloads→Java for Developers(因页面更新,可能与本书所述不一致,下同),进入JDK下载首页。

单击首页中的“Java Platform (JDK)”,进入下载链接页面。接着单击“Accept License Agreement”(接受许可协议),页面下方有对应不同软硬件平台的JDK下载链接,名称如“jdk-6u26-xxx-yyy.zzz”。其中,“6”代表JDK主版本号(即6.0);“u26”代表主版本的第26次更新(Update); “xxx”代表操作系统类别(如windows); “yyy”代表CPU的架构,PC一般选择i586或x64,若安装的是32位操作系统则只能选择i586,64位操作系统选择i586或x64均可;“zzz”代表安装文件的格式。笔者机器为Windows XP(32位),故应选择“jdk-6u26-windows-i586.exe”,请读者根据自身使用的机器下载对应版本。

运行下载的安装程序,其会自动匹配操作系统的默认语言,用户可以更改JDK安装路径(本书使用默认的C:\Program Files\Java\jdk1.6.0_26\),如图1-3所示。尽管可以为JDK指定任意的安装路径,但考虑到今后在命令行中切换路径方便起见,尽量不要指定过深的或含有中文字符的路径。

图1-3 JDK安装选项界面

用户可以选择要安装的功能(默认全部安装),具体包括以下各项。

(1)开发工具:必选,包含开发Java程序所必需的工具和类库等。选择此项后,还会安装一个JDK专用的JRE(位于JDK的安装路径之下)。

(2)演示程序及样例:必选,包含一些演示程序,可以作为今后学习的参考。

(3)源代码:可选,包含JDK运行时类库(名为rt.jar,包含了Java的核心API)的源代码。若选择此项功能,则JDK安装目录下将有一个名为src.zip的文件,对其解压,可得到rt.jar中绝大多数类文件的源代码。在今后的编程中,建议读者经常查看和跟踪源代码,以深入理解某些API的执行细节,因此推荐安装。

(4)公共JRE:可选,包含一个独立于JDK的JRE,其默认安装在与JDK相同的路径之下。公共JRE会向操作系统和浏览器注册,以便后二者能识别并调用合适的程序去执行Java程序。因安装开发工具时也会安装JRE,故此处的JRE可以选择不安装,并不会影响Java程序的开发和调试。值得一提的是,如果读者只是想运行而非开发Java程序,则可以下载单独的JRE安装文件。

(5)Java DB:可选,包含一个纯Java编写的关系型数据库管理系统。Java初学者一般不会涉及数据库编程,此外,有其他免费的、功能更强大的数据库管理系统可供使用(如Oracle、MySQL等),因此可以不安装。

单击下一步按钮,便可开始JDK的安装,如果之前选择了安装公共JRE,则安装过程中还会提示用户选择公共JRE的安装路径(默认为C:\Program Files\Java\jre6\)。

1.4.2 JDK的目录结构

JDK安装目录的结构如图1-4所示,其下的主要子目录说明如下。

图1-4 JDK目录结构

(1)bin:包含若干用于编译、运行和调试Java程序的基本工具(实际上是一些可执行程序),具体如表1-2所示。此目录需要被配置到环境变量中(见1.4.3节)。

表1-2 JDK下bin目录包含的主要命令

(2)demo和sample:包含JDK自带的演示程序和样例,以及它们的源代码。

(3)jre:JDK专用JRE的根目录,是运行Java程序必需的环境,其有两个子目录。

① bin:包含若干可执行程序和DLL文件,Java虚拟机会用到这些文件。

② lib:包含JRE用到的核心类库、属性设置和资源文件等。此目录下的rt.jar需要被配置到环境变量中(见1.4.3节)。

(4)lib:包含开发工具要用到的其他类库及文件等。

初学者只需掌握javac和java命令,其他命令使用相对较少。

1.4.3 配置环境变量

从JDK 5.0开始,安装程序会自动将JDK的有关信息写入操作系统(如Windows的注册表),特别是采用了IDEIDE(Integrated Development Environment,集成化开发环境)是指整合了编辑、管理、编译、运行、调试、发布等众多功能的软件开发工具。主流Java IDE包括Eclipse、MyEclipse、NetBeans、IDEA等。后,配置环境变量已不再是必需的操作。尽管如此,初学者仍需熟练掌握JDK环境变量的配置细节,很多Java程序,特别是那些用到了第三方类库的程序,能否成功运行往往与环境变量有着密切的关系。在讲解环境变量的配置之前,有必要先知道环境变量的作用是什么,下面通过一个试验来说明。

打开命令行窗口(开始→所有程序→附件→命令提示符),其当前工作路径(“>”左边的路径)为“C:\Documents and Settings\Administrator”,这是命令行窗口被打开时的默认工作路径,其中的Administrator是系统的当前登录用户名(在读者机器上可能不同)。接着,在命令行窗口中输入“calc”(Windows自带的计算器程序,位于C:\WINDOWS\system32下)并回车,如图1-5所示。

图1-5 默认路径下输入calc

不难发现,尽管路径“C:\Documents and Settings\Administrator”下并没有名为calc.exe的程序,但命令行仍然成功打开了计算器程序,这是为什么呢?现在打开“环境变量”对话框[我的电脑(右键)→属性→高级→环境变量],在对话框下部的“系统变量”中找到名为Path的项并双击,如图1-6所示。

图1-6 Path环境变量

Path环境变量的值由多个路径组成,彼此以西文分号分隔。其中一个路径名为%SystemRoot%\System32,此处的%SystemRoot%并不是真正的路径,而是表示引用名为SystemRoot的环境变量的值,该变量在系统注册表中定义,其值为Windows XP的默认安装根目录—C:\WINDOWS。因此,%SystemRoot%\System32等同于C:\WINDOWS\System32,而这正是calc.exe所在的目录。当在命令行窗口中输入一个非内部命令并回车后,系统会依次在Path环境变量中指定的各个路径中寻找该命令,若找到则执行该命令,否则报错。

现在删除变量值中的%SystemRoot%\System32部分“环境变量”对话框上部的“Administrator的用户变量”中可能也有一个名为Path的变量,该变量的值可能也含有C:\WINDOWS\System32路径,为成功演示,请读者将该路径一并删除。,并单击两次确定直至回到“系统属性”对话框,然后重复之前图1-5所示的操作(注意要关闭并重新打开命令行窗口,否则无效)。如图1-7所示,尽管工作路径及输入命令与之前一样,但由于此时已将calc.exe所在的路径从Path环境变量中删除,故而报错了。

图1-7 默认路径下输入calc(修改了Path环境变量之后)

通过上述试验不难看出,将某个路径(假设为P)添加到Path环境变量中的作用在于—能够在命令行的任何工作路径下执行P路径下的程序,而不用先将工作路径切换到P。

理解了环境变量的作用之后,下面来对其进行配置。JDK的环境配置涉及两个环境变量:Path和Classpath。

1.配置Path

类似地,为了能够在命令行的任何工作路径下执行JDK安装路径中bin目录下的工具命令,需要将bin的完整路径添加到Path环境变量中,如图1-8所示。

图1-8 在Path环境变量中添加bin所在路径

几点说明:

(1)若Path环境变量不存在,可自行新建。

(2)bin目录不是指JDK安装路径中jre目录下的bin。

(3)添加的路径要一直指定到bin。

(4)因路径较长,为避免出错,可先浏览到bin目录,然后复制地址栏并粘贴到变量值中。

(5)可以将bin路径添加到Path的任何位置,但要在合适位置输入一个西文分号以与其他路径隔开。输入原则是保证除了首个路径外,其余路径左边均有一个分号。

单击两次确定并重新打开命令行窗口,输入javac并回车,若配置成功则出现如图1-9所示界面,以后便可以在命令行的任何工作路径下执行bin下的工具命令。

图1-9 配置Path环境变量后输入javac命令

2.配置Classpath

在“环境变量”对话框中单击下部的“新建”按钮(注意有两个),在弹出对话框的“变量名”一栏输入“Classpath”, “变量值”一栏输入“.; C:\Program Files\Java\jdk1.6.0_26\jre\lib\rt.jar”,如图1-10所示。

图1-10 新建Classpath环境变量

几点说明:

(1)Windows不区分大小写,故写成Classpath、classpath或CLASSPATH均可。

(2)class与path之间没有空格。

(3)变量值开头是一个西文点号和一个西文分号。

(4)分号后要一直指定到rt.jar这个文件,而不只是其所在的路径,这是初学者容易犯的错误之一。

(5)同样,为避免出错,可先浏览到lib目录,然后复制地址栏并粘贴到变量值中,再输入“\rt.jar”。

关于Classpath环境变量的作用,将在1.5节中通过实例加以阐述。