文档

Java™ 教程
隐藏目录
PATH和CLASSPATH
路径:Java基础类
课程:平台环境

路径(PATH)和类路径(CLASSPATH)

本节介绍了如何在Microsoft Windows、Solaris和Linux上使用PATHCLASSPATH环境变量。请参考您安装的Java开发工具包(JDK)软件包的安装说明,以获取最新信息。

安装完软件后,JDK目录的结构如下所示。

JDK目录结构

bin目录包含了编译器和启动器。

更新PATH环境变量(Microsoft Windows)

您可以在不设置PATH环境变量的情况下正常运行Java应用程序。或者,您可以选择设置它以方便使用。

如果您希望能够方便地从任何目录运行可执行文件(如javac.exejava.exejavadoc.exe等),而无需键入命令的完整路径,那么请设置PATH环境变量。如果您不设置PATH变量,每次运行时都需要指定可执行文件的完整路径,例如:

C:\Java\jdk1.7.0\bin\javac MyClass.java

PATH环境变量是一系列以分号(;)分隔的目录。Microsoft Windows按照从左到右的顺序在PATH目录中查找程序。您应该只有一个bin目录作为JDK路径中的一部分(后续的目录会被忽略),所以如果已经有一个目录存在,可以更新该特定条目。

下面是一个PATH环境变量的示例:

C:\Java\jdk1.7.0\bin;C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem

设置PATH环境变量是有用的,因为它可以在重启后保持不变。要对PATH变量进行永久更改,请使用控制面板中的系统图标。具体的步骤因Windows版本而异:

Windows XP
  1. 选择开始,选择控制面板。双击系统,选择高级选项卡。
  2. 点击环境变量。在系统变量部分,找到PATH环境变量并选中它。点击编辑。如果PATH环境变量不存在,点击新建
  3. 编辑系统变量(或新建系统变量)窗口中,指定PATH环境变量的值。点击确定。通过点击确定关闭所有剩余的窗口。
Windows Vista:
  1. 从桌面上,右键点击我的电脑图标。
  2. 选择右键菜单中的属性
  3. 点击高级标签(在Vista中点击高级系统设置链接)。
  4. 点击环境变量。在系统变量部分,找到PATH环境变量并选择它。点击编辑。如果PATH环境变量不存在,点击新建
  5. 编辑系统变量(或新建系统变量)窗口中,指定PATH环境变量的值。点击确定。通过点击确定关闭所有其它窗口。
Windows 7:
  1. 从桌面上,右键点击计算机图标。
  2. 选择右键菜单中的属性
  3. 点击高级系统设置链接。
  4. 点击环境变量。在系统变量部分,找到PATH环境变量并选择它。点击编辑。如果PATH环境变量不存在,点击新建
  5. 编辑系统变量(或新建系统变量)窗口中,指定PATH环境变量的值。点击确定。通过点击确定关闭所有其它窗口。

注意: 当从控制面板编辑PATH环境变量时,您可能会看到类似下面的环境变量:
%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
以百分号(%)括起来的变量是已存在的环境变量。如果在控制面板的环境变量窗口中列出了其中一个变量(比如JAVA_HOME),那么您可以编辑它的值。如果它没有出现,那么它是操作系统定义的特殊环境变量。例如,SystemRoot是Microsoft Windows系统文件夹的位置。要获取环境变量的值,请在命令提示符下输入以下内容(此示例获取SystemRoot环境变量的值):
echo %SystemRoot%

更新PATH变量(Solaris和Linux)

您可以在不设置PATH变量的情况下正常运行JDK,或者您可以选择设置它作为一种便利。但是,如果您希望能够在任何目录下运行可执行文件(如javacjavajavadoc等)而无需键入命令的完整路径,则应设置路径变量。如果您不设置PATH变量,每次运行时都需要指定完整路径到可执行文件,例如:

% /usr/local/jdk1.7.0/bin/javac MyClass.java

为了检查路径是否设置正确,执行以下命令:

% java -version

这将打印出java工具的版本,如果找到的话。如果版本过旧或者出现错误java: Command not found,则表示路径设置不正确。

要永久设置路径,需在启动文件中设置。

对于C shell (csh), 编辑启动文件 (~/.cshrc):

set path=(/usr/local/jdk1.7.0/bin $path)

对于bash, 编辑启动文件 (~/.bashrc):

PATH=/usr/local/jdk1.7.0/bin:$PATH
export PATH

对于ksh, 启动文件由环境变量ENV指定。要设置路径:

PATH=/usr/local/jdk1.7.0/bin:$PATH
export PATH

对于sh, 编辑配置文件 (~/.profile):

PATH=/usr/local/jdk1.7.0/bin:$PATH
export PATH

然后加载启动文件并通过重复执行java命令来验证路径是否已设置:

对于C shell (csh):

% source ~/.cshrc
% java -version

对于ksh, bash, 或 sh:

% . /.profile
% java -version

检查CLASSPATH变量 (所有平台)

CLASSPATH变量是告诉应用程序,包括JDK工具,用户类的查找路径之一。(JRE、JDK平台和扩展部分的类应该通过其他方式定义,比如引导类路径或扩展目录)

指定类路径的首选方式是使用-cp命令行开关。这样可以为每个应用程序单独设置CLASSPATH,而不影响其他应用程序。设置CLASSPATH可能会比较棘手,需要谨慎操作。

类路径的默认值是“.”,表示只搜索当前目录。指定CLASSPATH变量或-cp命令行开关将覆盖这个值。

要检查Microsoft Windows NT/2000/XP上是否设置了CLASSPATH,执行以下命令:

C:> echo %CLASSPATH%

在Solaris或Linux上,执行以下命令:

% echo $CLASSPATH

如果CLASSPATH未设置,则会出现CLASSPATH: Undefined variable错误(Solaris或Linux),或者简单地显示%CLASSPATH%(Microsoft Windows NT/2000/XP)。

要修改CLASSPATH,使用与修改PATH变量相同的步骤。

类路径通配符允许您将一个整个目录中的.jar文件包含在类路径中,而无需逐个显式命名它们。有关更多信息,包括类路径通配符的解释以及如何清理CLASSPATH环境变量的详细说明,请参阅设置类路径技术说明。


上一页: System中的其他方法
下一页: 问题和练习:平台环境