有没有办法在运行时更新系统类加载器?在我动态加载jar文件后,有什么办法可以将从这个jar加载的类/包添加到我的系统类加载器中吗?
我试图这样做的原因是,虽然我通过在我自己的代码中传递我新创建的ClassLoader取得了一些成功,但我遇到了第三方库(apache-WSIF)的问题。似乎没有使用传入的ClassLoader。
答案 0 :(得分:6)
我已经能够通过以下方式实现我的目标:
Thread.currentThread()setContextClassLoader(myClassLoader);
正如最常见的答案所述:How do you change the CLASSPATH within Java?
基本上,在调用WSIF库之前,我需要做的就是确保我将自定义classLoader设置为当前线程上的contextClassLoader。