239.md 6.7 KB
Newer Older
W
init  
wizardforcel 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
# 路径和 CLASSPATH

> 原文: [https://docs.oracle.com/javase/tutorial/essential/environment/paths.html](https://docs.oracle.com/javase/tutorial/essential/environment/paths.html)

本节介绍如何在 Microsoft Windows,Solaris 和 Linux 上使用`PATH``CLASSPATH`环境变量。有关最新信息,请参阅安装 Java Development Kit(JDK)软件包中随附的安装说明。

安装软件后,JDK 目录将具有如下所示的结构。

<center>![JDK directory structure](img/5cf035e0d9f655a41545e2f82574ca42.jpg)</center>

`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**

1.  选择**启动**,选择**控制面板**。双击**系统**,然后选择**高级**选项卡。
2.  单击**环境变量**。在**系统变量**部分中,找到`PATH`环境变量并选择它。单击**编辑**。如果`PATH`环境变量不存在,请单击`New`
3.**编辑系统变量**(或**新系统变量**)窗口中,指定`PATH`环境变量的值。单击**确定**。单击**确定**关闭所有剩余窗口。

**Windows Vista:**

1.  在桌面上,右键单击**我的电脑**图标。
2.  从上下文菜单中选择**属性**
3.  单击**高级**选项卡(Vista 中的**高级系统设置**链接)。
4.  单击**环境变量**。在**系统变量**部分中,找到`PATH`环境变量并选择它。单击**编辑**。如果`PATH`环境变量不存在,请单击`New`
5.**编辑系统变量**(或**新系统变量**)窗口中,指定`PATH`环境变量的值。单击**确定**。单击**确定**关闭所有剩余窗口。

**Windows 7:**

1.  在桌面上,右键单击**计算机**图标。
2.  从上下文菜单中选择**属性**
3.  单击**高级系统设置**链接。
4.  单击**环境变量**。在**系统变量**部分中,找到`PATH`环境变量并选择它。单击**编辑**。如果`PATH`环境变量不存在,请单击`New`
5.**编辑系统变量**(或**新系统变量**)窗口中,指定`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`环境变量的详细说明,请参阅[设置类路径](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html)技术说明。