在 Java 中设置 classpath
- 在 Java 中如何设置 classpath
-
在 Java 中设置
classpath
-
使用环境变量设置
classpath
-
从命令行设置
classpath
-
使用
-classpath
选项设置Classpath
-
查看
classpath
- 总结
本教程介绍了在 Java 中设置类路径 classpath
的过程,并列出了一些示例代码以理解该主题。
在 Java 中如何设置 classpath
我们通常会导入外部或用户定义的类,以使它们可用于我们当前的类。导入语句用于在 Java 中执行此操作。
import org.projects.DemoClass;
DemoClass dc = new DemoClass();
JVM 不可能遍历我们系统上的每个目录并找到合适的类。JVM 使用类路径来定位所需的类和 jar。在本教程中,我们将学习如何在 Java 中设置类路径。
在 Java 中设置 classpath
- 我们可以将类路径设置为环境变量。或者我们可以使用命令行来执行此操作。
- 在开始之前,我们需要知道 classpath 的默认值是当前目录。它是通过使用点(
.
)设置的。更改类路径将更改此默认值。如果当前目录中存在类或 jar,则将当前目录包含在类路径中。 - 我们可以使用分隔符指定多个类路径。如果你使用的是 Windows 操作系统,则分隔符是分号 (
;
)。如果你使用的是基于 Linux/Unix 的系统,则使用冒号 (:
) 作为分隔符。
下面的代码演示了这一点。我们试图包含当前目录的所有类(使用点)和两个 JAR 文件。
.;C:\javaProjects\someJAR.jar;C:\javaOldProjects\someOldJAR.jar //For Windows
.:/javaProjects/someJAR.jar:/javaOldProjects/someOldJAR.jar //For Linux/Unix
- 类路径可以包含 jar 文件的路径和我们类的顶级包的路径。例如,如果 DemoClass.class 文件的路径是 C:\javaProjects\org\projects\DemoClass.class,那么我们可以将 classpath 设置为 C:\javaProjects,并使用下面的 import 语句。
import org.projects.DemoClass;
使用环境变量设置 classpath
如果我们有一个始终包含所需 jars 和类文件的固定位置,那么向环境变量添加类路径是个好主意。我们需要找到系统的环境变量并添加 CLASSPATH 变量(如果不存在)。接下来,我们将添加 jars 和类的所有路径。
在 Windows 系统上,
- 单击计算机图标,然后从左上角打开属性。
- 单击高级系统属性 > 高级 > 环境变量。
- 找到
CLASSPATH
变量并向其添加路径。如果没有CLASSPATH
变量,那么我们首先需要添加变量。
从命令行设置 classpath
我们可以在 Windows 中使用 set CLASSPATH
命令来设置类路径。我们需要在 Windows 中使用分号来分隔不同的路径。在下面的示例中,我们将当前目录和 JAR 文件添加到类路径。
$ set CLASSPATH=.;C:\javaProjects\someJAR.jar
在 Linux/Unix 中,我们可以使用 export CLASSPATH
命令来设置 classpath
。使用冒号作为多个路径的分隔符。
$ export CLASSPATH=.:/javaProjects/someJAR.jar
使用 -classpath
选项设置 Classpath
我们可以在编译和运行类文件时使用 -classpath
或 -cp
选项来设置类路径。下面的代码演示了这一点。
$ javac -classpath .;C:\javaProjects\someJAR.jar SomeClass.java
$ java -classpath .;C:\javaProjects\someJAR.jar SomeClass
查看 classpath
我们可以使用以下命令验证我们的类路径是否设置成功。
对于 Windows:
echo %CLASSPATH%
对于基于 Linux/Unix 的系统:
echo $CLASSPATH
总结
类路径是 JVM 查找类、JAR 文件和其他资源的位置。设置正确的类路径可以确保我们的 Java 应用程序顺利运行。如果类路径设置不正确,那么我们可能会收到 ClassNotFoundException
或 NoClassDefFoundError。我们可以设置环境变量或使用命令行来设置类路径。不建议为类路径设置全局环境变量。建议在命令行中使用 -cp
或 -classpath
选项来指定类路径。它将确保没有更改全局配置。