$ 类路径ClassPath
$ ClassPath
$ 设置方式
sdkTool -classpath classpath1:classpath2 ...
setenv CLASSPATH classpath1:classpath2 ...
每个类路径应以文件名或目录结尾:
- 以
.jar
或者.zip
结尾的文件 - 包含未命名包中类文件的目录
- 包含命名包中类文件的根包所在目录
- 包含通配符
*
的路径(如mydir/*
会被扩展成mydir
目录下所有的jar文件,包括隐藏文件;但不会包括子目录) - 多个classpath之间用
:
分隔
$ 类加载机制
jvm会按照bootstrap类->扩展类->用户classpath
的顺序加载类,用户类按照如下顺序加载:
.
当前目录CLASSPATH
环境变量-classpath
命令行工具的参数-jar
选项
后面的方式会覆盖前面的方式。
$ 获取方式
在程序中可以通过系统属性java.class.path
获取
$ 参考
https://docs.oracle.com/javase/8/docs/technotes/tools/findingclasses.html
https://docs.oracle.com/javase/8/docs/technotes/tools//unix/classpath.html