URLClassLoader加载jar包

//Test类:
package com.classloader.test;
public class Test {
	public static void main(String[] args) {
		try {
			MyClassLoader.test("file:G:/javaBY/TEST/FBY.jar","com.fby.test.Test");
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}

//加载器类
package com.classloader.test;

import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;

public class MyClassLoader extends URLClassLoader {

	public MyClassLoader(URL url) {
		super(new URL[] { url });
	}

	public static void test(String str, String cls) throws Exception {
		URL url = new URL(str);
		MyClassLoader t = new MyClassLoader(url);
		Class<?> claz = t.findClass(cls);
		Method[] methods = claz.getDeclaredMethods();
		if (methods != null) {
			for (int i = 0; i < methods.length; i++) {
				if ("main".equals(methods[i].getName())) {
					methods[i].invoke(claz, (Object) new String[] {});
					break;
				}
			}
		}
	}
}

你可能感兴趣的:(exception,String,object,url,Class,methods)