2 .2 设置 Path 与 Classpath
对于习惯图形化接口操作的初学者而言,在命令符模式下执行程序是一件陌生的事,也因此不了解 Path 路径设置的方法与作用,而 Java 执行的平台也有自己的一套路径规则来寻找编写好的 Java 类,也就是所谓的 Classpath 设置。本节将介绍如何进行这些相关的设置。
2 .2.1 设置 Path
在安装好 JDK 程序之后,在 JDK 安装目录 ( 假设是 C:\Program Files\Java\jdk1.5.0_06) 下的 bin 目录中,会提供一些开发 Java 程序时必备的工具程序。对于 Java 的初学者,建议从命令符模式 ( 在 Windows 2000/XP 下称之为命令提示符 ) 下来操作这些工具程序。您可以在 Windows 2000/XP 的“开始”菜单中选择“运行”,输入“ cmd ”命令来打开命令符模式。
虽然您知道 JDK 的工具程序是位于 bin 目录下,但您的操作系统并不知道如何找到这些工具程序。所以当您输入 javac 尝试执行编译程序时,命令符模式下会告诉您找不到 javac 工具程序,如图 2-8 所示。
图 2-8 出现这个信息表示找不到指定的工具程序
您必须告诉操作系统,应该到哪些目录下尝试找到您所想使用的工具程序。有几个方法可以进行这项设置,最简便的方法就是设置系统变量中的 Path 环境变量。在 Windows 2000/XP 下可以选择桌面上的“我的电脑”并单击鼠标右键,选择“属性”后切换至“高级”页面,并单击下方的“环境变量”按钮,在“环境变量”对话框中编辑 Path 变量,如图 2-9 所示。
图 2-9 选择 Path 变量并单击“编辑”按钮以进行路径设置
如图 2-10 所示,在 Path 变量的“编辑系统变量”对话框中,在“变量值”文本框中先输入一个“ ; ”,接着输入 JDK bin 目录的路径 ( 这里假设是 C:\Program Files\Java\jdk1.5.0_06\bin) ,然后单击“确定”按钮即可完成设置。
图 2-10 在 Path 变量中加入 JDK 的 bin 目录路径
设置 Path 变量之后,要重新打开一个命令符模式才能重新读入 Path 变量内容,接着如果执行 javac 程序,应该可以看到图 2-11 所示的画面。
图 2-11 若设置 Path 变量成功,就可以找到指定的工具程序
也可以在命令符模式下执行以下的命令,直接设置目前的环境变量,包括 Path 变量 ( 这个设置在下次重新打开命令符模式时就不再有效 ) :
set Path=%Path%;C:\Program Files\Java\jdk1.5.0_06\bin
由于以上介绍的 Path 设置都是寻找 JDK 安装目录下的 bin 目录,所以操作系统会搜索 JDK 安装目录下的工具程序。这样当执行 java 程序时,默认会使用 JDK 所附的 JRE( 即 C:\Program Files\Java\jdk1.5.0_06\jre) ,而不是公用的 JRE( 即 C:\Program Files\Java\jre1.5.0_06\) 。
简单地说,操作系统会尝试在指定的 Path 变量中寻找指定的工具程序。当输入 javac 命令时,由于 Path 变量中有设置 JDK 的 bin 目录的路径,操作系统就可以根据这个信息来找到 javac 工具程序。
2. 2.2 设置 Classpath
Java 执行环境本身就是一个平台,执行于这个平台上的程序是已编译完成的 Java 程序 ( 后面会介绍到 Java 程序编译完成之后,会以 .class 文件存在 ) 。如果将 Java 执行环境比喻为操作系统,如果设置 Path 变量是为了让操作系统找到指定的工具程序 ( 以 Windows 来说就是找到 .exe 文件 ) ,则设置 Classpath 的目的就是让 Java 执行环境找到指定的 Java 程序 ( 也就是 .class 文件 ) 。
有几个方法可以设置 Classpath ,最简单的方法是在系统变量中新增 Classpath 环境变量。在图 2-9 中的“系统变量”下单击“新建”按钮,在“变量名”文本框中输入 Classpath ,在“变量值”文本框中输入 Java 类文件的位置。例如可以输入“ .;C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_06\lib\rt.jar ” (jar 文件是 zip 压缩格式,其中包括 .class 文件和 jar 中的 Classpath 设置 ) ,每一路径中间必须以 ; 作为分隔。
事实上 JDK 5.0 默认就会到当前工作目录 ( 上面的 . 设置 ) ,以及 JDK 的 lib 目录 ( 这里假设是 C:\Program Files\Java\jdk1.5.0_06\lib) 中寻找 Java 程序。所以如果 Java 程序是在这两个目录中,则不必设置 Classpath 变量也可以找得到,将来如果 Java 程序不是放置在这两个目录时,则可以按上述设置 Classpath 。
如果所使用的 JDK 工具程序具有 Classpath 命令选项,则可以在执行工具程序时一并指定 Classpath 。例如:
javac -classpath classpath1;classpath3...
其中 classpath1 、 classpath 2 是实际要指定的路径。也可以在命令符模式下执行以下的命令,直接设置目前的环境变量,包括 Classpath 变量 ( 这个设置在下次重新打开命令符模式时就不再有效 ) :
set CLASSPATH=%CLASSPATH%;classpath1;classpath3...
总而言之,设置 Classpath 的目的,在于告诉 Java 执行环境,在哪些目录下可以找到您所要执行的 Java 程序。