Java——动态加载任意目录下的架包

来源:互联网 发布:windows隐藏任务栏图标 编辑:程序博客网 时间:2024/04/30 23:40
package com;


import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;


/**
 * @author Administrator
 * @function:动态加载任意目录下的架包
 *
 */
public class DynamicLoadJar {
/**
* @author 2014-7-2 下午05:44:53
* @param jarSet 架包目录存放路径
*/
public static void loadJar(File[] jarSet) {
URLClassLoader cl = (URLClassLoader) Thread.currentThread()
.getContextClassLoader();


Class sysclass = URLClassLoader.class;
Method method = null;
try {
method = sysclass.getDeclaredMethod("addURL",
new Class[] { URL.class });
method.setAccessible(true);
for (File jar : jarSet) {
method.invoke(cl, jar.toURI().toURL());
}
} catch (NoSuchMethodException e) {
e.printStackTrace(); 
} catch (InvocationTargetException e) {
e.printStackTrace(); 
} catch (MalformedURLException e) {
e.printStackTrace(); 
} catch (IllegalAccessException e) {
e.printStackTrace(); 
}
}
}
0 0
原创粉丝点击