`classpath` 是 Java 程序运行时用于查找类和资源文件的一个环境变量。它可以是包含类文件或资源文件的目录、JAR 文件或 ZIP 文件的路径。当程序加载类或读取资源文件时,Java 虚拟机会首先在 `classpath` 中查找这些文件。
举个例子,如果你有一个 HelloWorld.java 文件:
```java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
```
并在该文件所在的目录下执行下面的命令编译并运行程序:
```bash
javac HelloWorld.java
java HelloWorld
```
那么就会在控制台输出 `Hello, World!`。
此时,`classpath` 就是当前路径(即 HelloWorld.java 的所在目录)。
如果 HelloWorld.java 中使用了其他的类,例如 com.example.MyClass.class,那么类加载器就会在 `classpath` 下查找 com/example/MyClass.class 文件。如果在类路径中找不到该类,就会抛出 `ClassNotFoundException` 异常。
在项目中,也可以在 `classpath` 下添加其他目录或者 JAR 包,方便加载第三方库或者自定义类。例如:
```bash
java -classpath myLib.jar:lib/*:classes HelloWorld
```
这个命令中,`classpath` 包含了 `myLib.jar` 文件,`lib` 目录下的所有 JAR 包,以及编译后的 Java 类文件所在的 `classes` 目录。这样,程序就可以访问这些类库并运行程序。