路径和 Classpath

本节说明如何在 Microsoft Windows,Solaris 和 Linux 上使用PATHCLASSPATH环境变量。有关最新信息,请查阅 Java Development Kit(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 按从左到右的 Sequences 在PATH目录中查找程序。路径中一次只应为 JDK 提供一个bin目录(忽略第一个目录之后的目录),因此,如果已经存在一个目录,则可以更新该特定条目。

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

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

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

Windows XP

  • 选择 开始 ,然后选择 控制面板 。Double 击 系统 ,然后选择 高级 选项卡。

  • 点击 环境变量 。在“系统变量”部分中,找到PATH环境变量并选择它。点击 编辑 。如果PATH环境变量不存在,请单击New

  • 在“编辑系统变量”(或“新系统变量”)窗口中,指定PATH环境变量的值。点击 确定 。单击 确定 关闭所有剩余的窗口。

Windows Vista:

  • 在桌面上,右键单击“我的电脑”图标。

  • 从上下文菜单中选择“属性”。

  • 单击“高级”选项卡(在 Vista 中为“高级系统设置”链接)。

  • 点击 环境变量 。在“系统变量”部分中,找到PATH环境变量并选择它。点击 编辑 。如果PATH环境变量不存在,请单击New

  • 在“编辑系统变量”(或“新系统变量”)窗口中,指定PATH环境变量的值。点击 确定 。单击 确定 关闭所有剩余的窗口。

Windows 7:

  • 在桌面上,右键单击“计算机”图标。

  • 从上下文菜单中选择“属性”。

  • 点击“高级系统设置”链接。

  • 点击 环境变量 。在“系统变量”部分中,找到PATH环境变量并选择它。点击 编辑 。如果PATH环境变量不存在,请单击New

  • 在“编辑系统变量”(或“新系统变量”)窗口中,指定PATH环境变量的值。点击 确定 。单击 确定 关闭所有剩余的窗口。

Note:

从“控制面板”进行编辑时,您可能会看到类似于以下内容的PATH环境变量:

%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

用百分号(%)括起来的变量是现有的环境变量。如果这些变量之一在“控制面板”的“环境变量”窗口中列出(例如JAVA_HOME),则可以编辑其值。如果未出现,则它是 os 定义的特殊环境变量。例如,SystemRoot是 Microsoft Windows 系统文件夹的位置。要获取环境变量的值,请在命令提示符下 Importing 以下内容。 (此示例获取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 平台和 extensions 的类应通过其他方式定义,例如引导 Classpath 或 extensions 目录.)

指定 Classpath 的首选方法是使用-cp命令行switch。这样就可以为每个应用单独设置CLASSPATH,而不会影响其他应用。 *设置CLASSPATH可能会很棘手,应谨慎执行。

Classpath 的默认值为“。”,表示仅搜索当前目录。指定 CLASSPATH 变量或-cp命令行switch将覆盖此值。

要检查是否在 Microsoft Windows NT/2000/XP 上设置了CLASSPATH,请执行以下操作:

C:> echo %CLASSPATH%

在 Solaris 或 Linux 上,执行以下操作:

% echo $CLASSPATH

如果未设置CLASSPATH,则将显示 CLASSPATH:未定义变量 错误(Solaris 或 Linux),或者仅是 %CLASSPATH% (Microsoft Windows NT/2000/XP)。

要修改CLASSPATH,请使用与PATH变量相同的过程。

使用 Classpath 通配符,您可以在 Classpath 中包含.jar文件的整个目录,而无需分别明确命名它们。有关更多信息,包括 Classpath 通配符的说明以及有关如何清除CLASSPATH环境变量的详细说明,请参见设置Classpath技术说明。