PATH & CLASSPATH

来源:互联网 发布:淘宝一个月后申请售后 编辑:程序博客网 时间:2024/05/16 10:26

2.2 设置PathClasspath

对于习惯图形化接口操作的初学者而言,在命令符模式下执行程序是一件陌生的事,也因此不了解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变量中加入JDKbin目录路径

设置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变量中有设置JDKbin目录的路径,操作系统就可以根据这个信息来找到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默认就会到当前工作目录(上面的.设置),以及JDKlib目录(这里假设是C:/Program Files/Java/jdk1.5.0_06/lib)中寻找Java程序。所以如果Java程序是在这两个目录中,则不必设置Classpath变量也可以找得到,将来如果Java程序不是放置在这两个目录时,则可以按上述设置Classpath

如果所使用的JDK工具程序具有Classpath命令选项,则可以在执行工具程序时一并指定Classpath。例如:

javac -classpath classpath1;classpath3...

其中classpath1classpath 2是实际要指定的路径。也可以在命令符模式下执行以下的命令,直接设置目前的环境变量,包括Classpath变量(这个设置在下次重新打开命令符模式时就不再有效)

set CLASSPATH=%CLASSPATH%;classpath1;classpath3...

总而言之,设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序。

 

原创粉丝点击