修改classloader的加载路径
Posted yin.kh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改classloader的加载路径相关的知识,希望对你有一定的参考价值。
三个类加载器修改加载路径的方式是修改jvm参数
1、BootstrapClassLoader的加载路径由 sun.boot.class.path 指定。因此运行程序时加上参数
-Dsun.boot.class.path=加载路径
即可
例如:
运行程序结果如下:
2、ExtClassLoader的加载路径由 java.ext.dirs 指定。因此运行程序时加上参数
-Djava.ext.dirs=加载路径
即可
ExtClassLoader加载时会搜索指定路径下的所有子目录,也就是说它会搜索java.ext.dirs所指定下的所有子目录下的class文件或jar文件。
3、AppClassLoader的加载路径由 java.class.path 指定。因此运行程序时加上参数
-Djava.class.path=加载路径
即可
AppClassLoader不会搜索java.class.path下的子目录的,所以在在加载子目录中的资源文件时要指定相对目录。
以上是关于修改classloader的加载路径的主要内容,如果未能解决你的问题,请参考以下文章
Class.getResource() 和 ClassLoader.getResource() 有啥区别?