我有一个名为“MyClassLoader”的 URLClassLoader,上面有一些罐子。如果我尝试
MyClassLoader.loadClass("MyClass");
有用。
如果我尝试
Thread.currentThread().setContextClassLoader(MyClassLoader);
Thread.currentThread().getContextClassLoader().loadClass("MyClass");
它也有效。
但如果我尝试
Thread.currentThread().setContextClassLoader(MyClassLoader);
Class.forName("MyClass");
它抛出一个ClassNotFoundException
.
当然,Class.forName
这里只是一个例子;尝试使用MyClass
也会引发异常。
这一切可能意味着我不明白它是如何setContextClassLoader
工作的。谁能向我澄清这一点并帮助我理解它 - 我应该怎么做才能使我的代码正常工作?谢谢你。