日期:2014-05-19 浏览次数:20786 次
URLClassLoader loader = (URLClassLoader) ClassLoader.getSystemClassLoader(); Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[] { URL.class }); //反射获取方法 method.setAccessible(true); File jar = new File(yourjarpath); //外部jar路径 URL url = jar.toURI().toURL(); method.invoke(loader, new Object[]{url}); //加载jar到systemclassloader
------解决方案--------------------
楼上的方法也是不错的。我想说的是通过jarFile也是能获取到jar里面文件内容的。
InputStream is = jarfile.getInputStream(jarfile.getEntry("META-INF/MANIFEST.MF")); String s = IOUtils.toString(is, "gbk");
------解决方案--------------------
Class类的getResourceAsStream()方法来获取
http://hxraid.iteye.com/blog/483115
------解决方案--------------------
直接创建个URLClassLoader,然后把新的jar包路径加入到URLClassLoader中,然后反射调用即可。
URLClassLoader loader = new URLClassLoader(ClassLoader.getSystemClassLoader());
loader.addURL(new URL("............"));
剩下的反射工作就很简单了。。。