2011/08/25

Java: クラスパスの動的追加

追加したいクラスファイルを引数に以下の関数を呼べば良い.
プラグイン形式で機能拡張する場合は必須と思われる.

void addClassPath(File classPath){
   try{
     URLClassLoader classLoader=(URLClassLoader)ClassLoader.getSystemClassLoader();
     Class classClassLoader = URLClassLoader.class;
     Method methodAddUrl =
classClassLoader.getDeclaredMethod("addURL", URL.class);
     methodAddUrl.setAccessible(true);
     methodAddUrl.invoke(classLoader, classPath.toURI().toURL());
     System.out.println("added "+classPath);
   }catch(Exception e){
     e.printStackTrace();
   }
 }
 
 

0 件のコメント: