Java——动态加载任意目录下的架包
2014-07-02 17:44
232 查看
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();
}
}
}
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();
}
}
}
相关文章推荐
- 0day-java load dynamic library from any path(java加载任意目录库文件)
- Java---注解、类加载器-加强-实现运行任意目录下class中加了@MyTest的空参方法
- Java---注解、类加载器-加强-实现运行任意目录下class中加了@MyTest的空参方法
- 0day-java load dynamic library from any path(java加载任意目录库文件)
- 0day-java load dynamic library from any path(java加载任意目录库文件)
- JAVA动态加载dll任意路径加载dll
- JAVA程序动态获得当前jar程序所在目录的实现技巧
- Java 动态加载
- java用URLClassLoader动态加载JDBC
- Java中类的显式动态加载的两种方式
- JAVA 动态加载
- JAVA的多态接口动态加载类
- java 动态编译.java文件,然后动态加载运行
- 用Java动态增加任意类型数组的长度
- java动态加载类
- 从指定目录动态加载图片到picturebox
- DAO,接口,工厂模式,java类的动态加载,ioc
- JAVA动态加载-类查询-jdk,jre
- java中的类是动态加载的,我们先看一下我们常用的类加载方式,先有一个感性的认识,才能进一步
- java动态加载类