利用classloader动态加载jar包
来源:互联网 发布:室内空气检测软件 编辑:程序博客网 时间:2024/04/29 07:49
第一种方法:
URL url= file.toURI().toURL();//将File类型转为URL类型,file为jar包路径URLClassLoader urlClassLoader=new URLClassLoader(new URL[] {url});Class c=urlClassLoader.loadClass("类名");此种方法是构造一个新的URLClassLoader对象,利用该对象加载指定路径下的jar包,此种方法只能在此处加载该jar包中的类,调用其方法,不能在程序中的其他地方调用。如果将urlClassLoader声明为静态的则可以在其它地方调用
第二种方法:
URL url= file.toURI().toURL();//将File类型转为URL类型,file为jar包路径//得到系统类加载器URLClassLoader urlClassLoader= (URLClassLoader) ClassLoader.getSystemClassLoader();//因为URLClassLoader中的addURL方法的权限为protected所以只能采用反射的方法调用addURL方法Method add = URLClassLoader.class.getDeclaredMethod("addURL", new Class[] { URL.class }); add.setAccessible(true);add.invoke(urlClassLoader, new Object[] {url });Class c=Class.forName("类名");或者Class c=urlClassLoader.loadClass("类名");此种方法是得到系统类加载器,利用该加载器加载指定路径下的jar包,此种方法与java命令中的javac -cp是同等效果,都能在当前运行环境中改变CLASSPATH,所以利用该方法加载jar包后,在程序任一地方都能加载该jar包中的类,调用其方法。
导入多个jar包时,第一种方法加载jar包中的类时,需知道加载该jar包的URLClassLoader,第二种方法则不需要,可使用Class.forName("类名");加载类
0 0
- 利用classloader动态加载jar包
- ClassLoader和动态加载Jar包举例
- 实现java classloader 动态加载jar包
- java代码实现利用 classloader 动态加载 jar包、文件夹到classpath中
- Java运行时动态加载类之ClassLoader加载class及其依赖jar包
- 自定义ClassLoader,用于加载用户JAR包
- Java ClassLoader加载.jar包中的Class
- 自定义ClassLoader,用于加载用户JAR包
- java动态加载jar包
- java动态加载jar包
- java动态加载jar包
- android动态加载jar包
- android动态加载jar包
- JAVA动态加载JAR包
- Java 动态加载jar包
- Java ClassLoader加载.jar
- Java ClassLoader加载.jar
- Java ClassLoader加载.jar
- 黑马程序员——异常和包
- 谈编程是个什么玩意儿
- Java序列化与反序列化
- android接入即时IM(接入亲加通信云)
- Json 数据的解析 ,生成
- 利用classloader动态加载jar包
- 黑马程序员——继承和抽象类
- 国际化与自定义标签结
- poj2942圆桌骑士【点双连通分量+二分图判断】
- 黑马程序员——接口和多态
- 前台 post方法提交却变成了 get 方法
- 安卓开发之Intent
- 关于UIViewController添加UINavigationBar的详细实现方法
- android 之 SharedPreferences 保存对象数据