在Java中,-cp 或者 --classpath 命令行选项用于指定类路径(classpath),这是Java虚拟机(JVM)搜索用户类文件(也就是编译后的 .class 文件)和包的位置。当你运行一个Java程序时,JVM需要知道在哪里找到这些类文件。
基本用法
当你使用 java 命令来运行一个Java程序时,你可以这样使用 -cp 选项:
java -cp path_to_classes YourMainClass
这里的 path_to_classes 是一个路径,可以是单个目录、JAR文件,或者多个路径的集合,路径之间用冒号(在Unix/Linux系统上)或分号(在Windows系统上)分隔。YourMainClass 是包含 main 方法的类的全名。
示例
假设你有一个名为 com.example.MyApp 的类,它包含 main 方法,并且编译后的 .class 文件位于 bin 目录下。你可以这样运行它:
java -cp bin com.example.MyApp
如果你有多个目录或者JAR文件,可以这样指定类路径:
java -cp bin:lib/some.jar:lib/another.jar com.example.MyApp
注意事项
- 类路径中的路径可以是绝对路径,也可以是相对路径。
- 如果类路径中的某个路径是一个目录,JVM会在该目录及其子目录中查找类文件。
- 如果类路径中的某个路径是一个JAR文件,JVM会将该JAR文件视为一个包,并从中查找类文件。
- 在类路径中使用通配符(如 *)可以指定一个目录下的所有JAR文件,例如 -cp lib/*。
使用 -cp 选项是运行Java程序时指定类路径的一种方式,还有其他选项如 -Djava.ext.dirs 用于指定扩展目录等。