从从指定地方加载类(定制ClassLoader)

 Java代码 复制代码 收藏代码

  1.   
  2. package com.masf;   
  3.   
  4. import java.net.MalformedURLException;   
  5. import java.net.URL;   
  6. import java.net.URLClassLoader;   
  7.   
  8. public class MyClassloader {   
  9.   
  10.     /**  
  11.      * @param args  
  12.      * @throws MalformedURLException   
  13.      */  
  14.     @SuppressWarnings("unchecked")   
  15.     public static void main(String[] args) throws MalformedURLException {   
  16.         //自定义类加载路径   
  17.         String path = "file:/D:/classes/";   
  18.         //String jarpath = "jar:/D:/lib/";   
  19.            
  20.         URL[] urls = {new URL(path)};   
  21.         //这里没有指定父类加载器,所以不会有向上委托;这个类加载器,只会在自己指定的路径内寻找类   
  22.         ClassLoader loader = new URLClassLoader(urls,null);   
  23.         try {   
  24.             //在自定义的类加载路径中查找类   
  25.             Class classzz = loader.loadClass("com.masf.Person");   
  26.             System.out.println("加载路径:"+loader.getResource(""));   
  27.             System.out.println("类加载器:"+classzz.getClassLoader());   
  28.         } catch (ClassNotFoundException e) {   
  29.             e.printStackTrace();   
  30.         }   
  31.     }   
  32.   
  33. }   
  34.   
  35. ////////////////////////////////////////////////////////////////////   
  36. package com.masf;   
  37.   
  38. public class Person {   
  39.   
  40. }  

你可能感兴趣的:(定制)