PATH和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从左到右依次查找PATH
目录中的程序,一次只能在路径中为JDK创建一个bin
目录(忽略第一个后面的目录),因此如果已经存在,则可以更新该特定条目。
以下是PATH
环境变量的示例:
C:\Java\jdk1.7.0\bin;C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
永久设置PATH
环境变量非常有用,因此在重新启动后它将保持不变,要永久更改PATH
变量,请使用“控制面板”中的“系统”图标,具体过程因Windows版本而异:
Windows XP:
- 选择开始,选择控制面板,双击“系统”,然后选择“高级”选项卡。
- 单击“环境变量”,在系统变量部分中,找到
PATH
环境变量并选择它,单击编辑,如果PATH
环境变量不存在,请单击“新建”。 - 在“编辑系统变量”(或“新建系统变量”)窗口中,指定
PATH
环境变量的值,单击确定,单击“确定”关闭所有剩余窗口。
Windows Vista:、
- 在桌面上,右键单击“我的电脑”图标。
- 从上下文菜单中选择“属性”。
- 单击“高级”选项卡(Vista中的“高级系统设置”链接)。
- 单击“环境变量”,在系统变量部分中,找到
PATH
环境变量并选择它,点击编辑,如果PATH
环境变量不存在,请单击“新建”。 - 在“编辑系统变量”(或“新建系统变量”)窗口中,指定
PATH
环境变量的值,单击确定,单击“确定”关闭所有剩余窗口。
Windows 7:
- 在桌面上,右键单击“计算机”图标。
- 从上下文菜单中选择“属性”。
- 单击“高级系统设置”链接。
- 单击“环境变量”,在系统变量部分中,找到
PATH
环境变量并选择它,点击编辑,如果PATH环境变量不存在,请单击“新建”。 - 在“编辑系统变量”(或“新建系统变量”)窗口中,指定
PATH
环境变量的值,单击确定,单击“确定”关闭所有剩余窗口。
从控制面板编辑时,你可能会看到类似于以下内容的PATH
环境变量:%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
,以百分号(%
)括起来的变量是现有的环境变量,如果其中一个变量在“控制面板”的“环境变量”窗口中列出(例如JAVA_HOME
),则可以编辑其值,如果没有出现,那么它是操作系统定义的特殊环境变量。例如,SystemRoot
是Microsoft Windows系统文件夹的位置,要获取环境变量的值,请在命令提示符处输入以下内容,(此示例获取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平台和扩展的类应该通过其他方式定义,例如引导类路径或扩展目录)。
指定类路径的首选方法是使用-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
环境变量的详细说明,请参阅设置类路径技术说明。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。