【发布时间】:2010-04-07 10:57:49
【问题描述】:
我该怎么做:
class Foo {
public static Foo get() throws Exception {
ClassLoader cl = new URLClassLoader(new URL[]{"foo.jar"}, null); // Foo.class is in foo.jar
return (Foo)cl.loadClass("Foo").newInstance(); // fails on class cast
}
}
我需要让 JVM 将 cl 中的 Foo 实例视为执行代码的类加载器中的 Foo 实例。
我见过这些方法,但都对我没有好处(上面的例子是一个玩具例子):
- 由作为调用代码和创建的类加载器的父类的类加载器加载类(或单独的接口)
- 序列化和反序列化对象。
【问题讨论】:
标签: java classloader