使用ClassLoader加载jar文件
2015-04-06 16:17
253 查看
首先创建一个java工程,内容如下,到时导出为jar文件,内容如下:
新建第二个java工程,此时我们不是和往常一样:将jar文件addbuildpath到该工程中,而是动态加载该jar文件,代码如下:
public class JarLoader implements ILoader { @Override public String sayHello() { return "hello world."; } }然后将该工程导出为jar文件,此处,我们导出为loaddb.jar
新建第二个java工程,此时我们不是和往常一样:将jar文件addbuildpath到该工程中,而是动态加载该jar文件,代码如下:
try { <span style="white-space:pre"> </span>URL urls = new URL("file:/home/user/Desktop/loadb.jar"); URLClassLoader urlLoader = (URLClassLoader) ClassLoader.getSystemClassLoader(); Class<URLClassLoader> sysclass = URLClassLoader.class; Method method = sysclass.getDeclaredMethod("addURL", new Class[]{URL.class}); method.setAccessible(true); method.invoke(urlLoader, urls); String className = "com.test.load.JarLoader"; Class<?> tidyClass = urlLoader.loadClass(className); Object obj = tidyClass.newInstance(); // 被调用函数的参数 Class[] parameterTypes = {}; Method method2 = tidyClass.getDeclaredMethod("sayHello", parameterTypes); System.out.println(method2.invoke(obj, null)); } catch (Exception e) { e.printStackTrace(); }
相关文章推荐
- 【java】自定义ClassLoader 加载外部类和jar文件
- IDEA maven打成jar包后使用ClassLoader获取不到资源文件
- 加载图像文件从一个文件夹或JAR文件:使用javax.imageio.ImageIO级阅读图像文件
- 使用classloader加载文件
- 2.使用gradle加载项目中的本地jar文件
- flash as3使用,播放声音和加载外部声音文件
- 使用Eclipse或Ant生成jar文件
- Ear、Jar、War文件之间有何不同?它们分别使用在哪种环境下?
- 使不能运行的JAR文件可以使用java -jar运行
- JAR 文件格式的强大功能(java中jar工具的使用)
- 使用CImage加载PNG图片文件
- 从内存中加载Pe文件: 免费使用SkinMagic,SkinCrafter和Skin++(SkinPP)
- JAR 文件格式的强大功能(java中jar工具的使用)
- 解决“Visual Studio 要求设计器使用文件中的第一个类。移动类代码使之成为文件中的第一个类,然后尝试重新加载设计器。”方法
- 使用AJAX时错误:未能加载文件或程序集 system.web.extensions解决方法
- 使用javascript动态加载外部css或js文件
- 页面加入_JS,CSS使用,#include添加文件,缓存页面,页面间传递汉字,IsPostBack控制页面的加载,自定义错语页面
- 如何使用命令打jar文件
- BCB中使用Image控件动态加载GIF、JPG文件出错的解决方法
- 使用多线程加载多个Xml文件到TreeView控件