Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
本节介绍如何在 Microsoft Windows,Solaris 和 Linux 上使用 PATH
和 CLASSPATH
环境变量。有关最新信息,请参阅安装 Java Development Kit(JDK)软件包中随附的安装说明。
安装软件后,JDK 目录将具有如下所示的结构。
bin
目录包含编译器和启动程序。
你可以在不设置 PATH
环境变量的情况下正常运行 Java 应用程序。或者,你可以选择为了方便将其设置。
设置 PATH
环境变量,可以使你能够方便地运行可执行文件(javac.exe
,java.exe
,javadoc.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 版本而异:
PATH
环境变量并选择它。单击 Edit。如果 PATH
环境变量不存在,请单击 New
。PATH
环境变量的值。单击 OK。单击 OK 关闭所有剩余窗口。PATH
环境变量并选择它。单击 Edit。如果 PATH
环境变量不存在,请单击 New
。PATH
环境变量的值。单击 OK。单击 OK 关闭所有剩余窗口。PATH
环境变量并选择它。单击 Edit。如果 PATH
环境变量不存在,请单击 New
。PATH
环境变量的值。单击 OK。单击 OK 关闭所有剩余窗口。PATH
环境变量:
%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
%
)括起来的变量是现有的环境变量。如果其中一个变量列在控制面板的 Environment Variables 窗口中(例如 JAVA_HOME
),则可以编辑其值。如果没有出现,那么它是操作系统定义的特殊环境变量。例如,SystemRoot
是 Microsoft Windows 系统文件夹的位置。要获取环境变量的值,请在命令提示符处输入以下内容。(此示例获取 SystemRoot
环境变量的值):
echo %SystemRoot%
你可以在不设置 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
变量是告诉应用程序(包括 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 技术说明。