修改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的加载路径的主要内容,如果未能解决你的问题,请参考以下文章

ClassLoader加载资源时的搜索路径

浅议tomcat与classloader

Class.getResource() 和 ClassLoader.getResource() 有啥区别?

类加载器ClassLoader

ClassLoader实现自定义类加载器加载指定路径下的Class文件和Jar包

ClassLoader实现自定义类加载器加载指定路径下的Class文件和Jar包