📜  Java中的类路径(1)

📅  最后修改于: 2023-12-03 15:32:02.011000             🧑  作者: Mango

Java中的类路径

Java中的类路径是指用来查找类文件的路径列表。这个列表可以包含多个目录或压缩文件,用冒号(Windows下是分号)分隔。

类路径的搜索顺序

当Java虚拟机需要加载类时,它会按照以下顺序查找类:

  1. 当前目录中的类文件
  2. 系统类路径(即CLASSPATH环境变量指定的路径,多个路径之间用分号/冒号分隔)
  3. 扩展类路径(即$JAVA_HOME/lib/ext目录下的jar文件)
  4. 引导类路径(即$JAVA_HOME/jre/lib目录下的核心Java API库)
CLASSPATH环境变量的设置

在命令行中可以使用-cp-classpath参数来设置CLASSPATH环境变量。例如,以下命令将当前目录和lib目录下的jar文件加入CLASSPATH:

java -cp .:lib/* MyMainClass

另外,可以将CLASSPATH环境变量在操作系统中设置好,使得所有的Java应用程序都能够访问到指定的类路径。

Maven项目的类路径

在Maven项目中,类路径通常由依赖库组成。Maven使用pom.xml文件来管理项目依赖,使用以下配置可以将所有的依赖库放入target/lib目录下,并将该目录加入类路径:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<dependencies>
    <!-- 依赖库 -->
</dependencies>
总结

Java中的类路径定义了Java虚拟机查找类文件的顺序。在命令行中可以使用-cp-classpath参数来设置CLASSPATH环境变量,也可以在操作系统中设置CLASSPATH环境变量。Maven项目的类路径由项目依赖库定义。