java如何通过类加载器加载类和jar包
来源:互联网 发布:淘宝 产品对比 违规 编辑:程序博客网 时间:2024/06/09 17:12
场景:
把项目中要用到的class文件和jar放到D:\loader\terry\codex目录下,如何让项目通过代码的方式实现加载和使用这些类呢?
方案:通过URLClassLoader构造D:\loader\terry\codex这个路径下的类加载器,在通过Java反射机制进行实例化使用这些类
例子:
HelloWorld.java:
package terry.codex;/** * @编写人: yh.zeng * @编写时间:2017-12-3 下午2:29:57 * @文件描述: todo */public class HelloWorld {public void sayHello(){System.out.println("HelloWorld!");}}
Test.java:
import java.io.File;import java.lang.reflect.Method;import java.net.URL;import java.net.URLClassLoader;/** * @编写人: yh.zeng * @编写时间:2017-12-3 下午2:26:59 * @文件描述: todo */public class Test {public static void main(String args[]){ String fileUrlString = new File("D:\\loader").toURI().toString(); fileUrlString = fileUrlString.replaceAll("!/", "%21/");try {ClassLoader classLoader = new URLClassLoader(new URL[]{new URL(fileUrlString)});Class HelloWorldClazz = classLoader.loadClass("terry.codex.HelloWorld");Object helloWorld = HelloWorldClazz.newInstance();Method method = helloWorld.getClass().getMethod("sayHello", null);method.invoke(helloWorld, null);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}
demo见:https://github.com/zengyh/CodeLibary/blob/master/src/clazzloader/UrlClassLoaderTest.java
阅读全文
0 0
- java如何通过类加载器加载类和jar包
- 通过类加载器解决jar包冲突(一)
- 通过oracle,调用java类,并加载jar包到oracle中以支持java类。
- 通过oracle,调用java类,并加载jar包到oracle中以支持java类
- 通过oracle,调用java类,并加载jar包到oracle中以支持java类
- Java 加载Jar包
- Java动态类加载器(加载外部jar包类 读取资源文件)
- java加载jar包和自定义class文件加载
- 如何根据类名查询需要加载的jar包
- Java类加载机制——如何实现一个工程中不同模块加载不同版本的同名jar包。
- Java类加载机制——如何实现一个工程中不同模块加载不同版本的同名jar包。
- java动态加载jar包
- java动态加载jar包
- Java 热加载jar包
- java动态加载jar包
- JAVA动态加载JAR包
- Java 动态加载jar包
- java动态加载jar包,并运行其中的类和方法
- 解决Maven项目中令人头痛的无错误但是有小红叉问题
- 2、获取配置文件中的属性
- Java中try catch finally语句中含有return语句的执行情况(总结版)
- SIGHUP信号与控制终端
- tftp使用
- java如何通过类加载器加载类和jar包
- CSS3动画效果加上简单@media响应式布局 week6学习
- luogu P1044 栈
- Android -- Vold机制简要分析
- 1.docker简单介绍/centOS安装
- oracle视图view
- 对51系列单片机SPI总线的认识
- Android 自定义View简单归纳
- 长春大学软件工程数据结构第五次实验