首页 > 高级民工 > 让动态加载的jar包相互访问

让动态加载的jar包相互访问

2012年6月6日 发表评论 阅读评论

  接上一篇文章,如何让加载的jar可以相互访问class的问题,其实方法很简单只用同一个ClassLoader来加载插件的jar即可。这里可以扩展一下URLClassLoader实现。
一个简单的例子:

public class JarLoader extends URLClassLoader {
 
	public JarLoader(){
		super(new URL[]{});
	}
 
	public JarLoader(URL[] urls) {
		super(urls);
	}
 
	/**
	 * 把jar加载到classloader中
	 * @param path jar路径
	 */
	public void addJar(String path){
		try {
			this.addURL(new File(path).toURI().toURL());
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
	}
 
}

通过调用URLClassloader的protected方法addURL即可实现在需要时加载jar到loader中。

分类: 高级民工 标签:
  1. 本文目前尚无任何评论.

点击刷新