Java ClassLoader - 将动态加载的jar添加到系统类加载器

时间:2011-07-07 21:45:07

标签: java classloader

有没有办法在运行时更新系统类加载器?在我动态加载jar文件后,有什么办法可以将从这个jar加载的类/包添加到我的系统类加载器中吗?

我试图这样做的原因是,虽然我通过在我自己的代码中传递我新创建的ClassLoader取得了一些成功,但我遇到了第三方库(apache-WSIF)的问题。似乎没有使用传入的ClassLoader。

1 个答案:

答案 0 :(得分:6)

我已经能够通过以下方式实现我的目标:

Thread.currentThread()setContextClassLoader(myClassLoader);

正如最常见的答案所述:How do you change the CLASSPATH within Java?

基本上,在调用WSIF库之前,我需要做的就是确保我将自定义classLoader设置为当前线程上的contextClassLoader。