路径和 CLASSPATH
原文: https://docs.oracle.com/javase/tutorial/essential/environment/paths.html
本节介绍如何在 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
目录中的程序。您应该一次只有一个bin
目录用于路径中的 JDK(第一个被忽略的目录),因此如果已存在,则可以更新该特定条目。
以下是PATH
环境变量的示例:
C:\Java\jdk1.7.0\bin;C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
永久设置PATH
环境变量非常有用,因此在重新启动后它将保持不变。要永久更改PATH
变量,请使用控制面板中的系统图标。具体过程因 Windows 版本而异:
Windows XP
- 选择启动,选择控制面板。双击系统,然后选择高级选项卡。
- 单击环境变量。在系统变量部分中,找到
PATH
环境变量并选择它。单击编辑。如果PATH
环境变量不存在,请单击New
。 - 在编辑系统变量(或新系统变量)窗口中,指定
PATH
环境变量的值。单击确定。单击确定关闭所有剩余窗口。
Windows Vista:
- 在桌面上,右键单击我的电脑图标。
- 从上下文菜单中选择属性。
- 单击高级选项卡(Vista 中的高级系统设置链接)。
- 单击环境变量。在系统变量部分中,找到
PATH
环境变量并选择它。单击编辑。如果PATH
环境变量不存在,请单击New
。 - 在编辑系统变量(或新系统变量)窗口中,指定
PATH
环境变量的值。单击确定。单击确定关闭所有剩余窗口。
Windows 7:
- 在桌面上,右键单击计算机图标。
- 从上下文菜单中选择属性。
- 单击高级系统设置链接。
- 单击环境变量。在系统变量部分中,找到
PATH
环境变量并选择它。单击编辑。如果PATH
环境变量不存在,请单击New
。 - 在编辑系统变量(或新系统变量)窗口中,指定
PATH
环境变量的值。单击确定。单击确定关闭所有剩余窗口。
Note: You may see a PATH
environment variable similar to the following when editing it from the Control Panel:
%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
Variables enclosed in percentage signs (%
) are existing environment variables. If one of these variables is listed in the Environment Variables window from the Control Panel (such as JAVA_HOME
), then you can edit its value. If it does not appear, then it is a special environment variable that the operating system has defined. For example, SystemRoot
is the location of the Microsoft Windows system folder. To obtain the value of a environment variable, enter the following at a command prompt. (This example obtains the value of the SystemRoot
environment variable):
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
变量是告诉应用程序(包括 JDK 工具)查找用户类的一种方法。 (属于 JRE,JDK 平台和扩展的类应该通过其他方式定义,例如引导类路径或扩展目录。)
指定类路径的首选方法是使用-cp
命令行开关。这允许为每个应用程序单独设置CLASSPATH
,而不会影响其他应用程序。设置CLASSPATH
可能很棘手,应小心执行。
类路径的默认值为“。”,表示仅搜索当前目录。指定 CLASSPATH 变量或-cp
命令行开关将覆盖此值。
要检查是否在 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
变量相同的步骤。
类路径通配符允许您在类路径中包含.jar
文件的整个目录,而无需单独指定它们。有关更多信息,包括类路径通配符的说明以及有关如何清理CLASSPATH
环境变量的详细说明,请参阅设置类路径技术说明。