文档

Java™ 教程-Java Tutorials 中文版
PATH 和 CLASSPATH
Trail: Essential Classes
Lesson: The Platform Environment

PATH 和 CLASSPATH

本节介绍如何在 Microsoft Windows,Solaris 和 Linux 上使用 PATHCLASSPATH 环境变量。有关最新信息,请参阅安装 Java Development Kit(JDK)软件包中随附的安装说明。

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

JDK 目录结构

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

更新 PATH 环境变量(Microsoft Windows)

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

设置 PATH 环境变量,可以使你能够方便地运行可执行文件(javac.exejava.exejavadoc.exe 等),而无需键入命令的完整路径。如果未设置 PATH 变量,则需要在每次运行时指定可执行文件的完整路径,例如:

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

PATH 环境变量是由分号(;)分隔的一系列目录。Microsoft Windows 从左到右依次查找 PATH 目录中的程序。一次只能在路径中为 JDK 创建一个 bin 目录(忽略第一个后面的那些目录),因此如果已存在,则可以更新该特定条目。

以下是 PATH 环境变量的示例:

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

永久设置 PATH 环境变量非常有用,这样在重新启动后它将保持不变。要永久更改 PATH 变量,请使用“控制面板”中的 System 图标。具体过程因 Windows 版本而异:

Windows XP
  1. 选择 Start,选择 Control Panel。双击 System,然后选择 Advanced 选项卡。
  2. 单击 Environment Variables。在 System Variables 部分中,找到 PATH 环境变量并选择它。单击 Edit。如果 PATH 环境变量不存在,请单击 New
  3. Edit System Variable(或 New System Variable)窗口中,指定 PATH 环境变量的值。单击 OK。单击 OK 关闭所有剩余窗口。
Windows Vista:
  1. 在桌面上,右键单击 My Computer 图标。
  2. 从上下文菜单中选择 Properties
  3. 单击 Advanced 选项卡(Vista 中的 Advanced system settings 链接)。
  4. 单击 Environment Variables。在 System Variables 部分中,找到 PATH 环境变量并选择它。单击 Edit。如果 PATH 环境变量不存在,请单击 New
  5. Edit System Variable(或 New System Variable)窗口中,指定 PATH 环境变量的值。单击 OK。单击 OK 关闭所有剩余窗口。
Windows 7:
  1. 在桌面上,右键单击 Computer 图标。
  2. 从上下文菜单中选择 Properties
  3. 单击 Advanced system settings 链接。
  4. 单击 Environment Variables。在 System Variables 部分中,找到 PATH 环境变量并选择它。单击 Edit。如果 PATH 环境变量不存在,请单击 New
  5. Edit System Variable(或 New System Variable)窗口中,指定 PATH 环境变量的值。单击 OK。单击 OK 关闭所有剩余窗口。

注意: 从控制面板编辑时,你可能会看到类似于以下内容的 PATH 环境变量:
%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
以百分号(%)括起来的变量是现有的环境变量。如果其中一个变量列在控制面板的 Environment Variables 窗口中(例如 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

对于 kshbashsh

% . /.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 环境变量的详细说明,请参阅 Setting the Class Path 技术说明。


Previous page: Miscellaneous Methods in System
Next page: Questions and Exercises: The Platform Environment