路径和 Classpath
本节说明如何在 Microsoft Windows,Solaris 和 Linux 上使用PATH
和CLASSPATH
环境变量。有关最新信息,请查阅 Java Development Kit(JDK)软件包的安装随附的安装说明。
安装软件后,JDK 目录将具有如下所示的结构。
bin
目录包含编译器和启动器。
更新 PATH 环境变量(Microsoft Windows)
您无需设置PATH
环境变量就可以很好地运行 Java 应用程序。或者,您可以选择将其设置为方便。
如果您希望能够方便地从任何目录运行可执行文件(javac.exe
,java.exe
,javadoc.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,或者可以方便地选择设置它。但是,如果您希望能够从任何目录运行可执行文件(javac
,java
,javadoc
等),而不必键入命令的完整路径,则应设置路径变量。如果未设置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 平台和 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技术说明。