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

Foz*_*efy 5 java classloader

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

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

Foz*_*efy 6

我已经能够使用以下内容实现我尝试做的事情:

Thread.currentThread()setContextClassLoader(myClassLoader).

正如在这里的顶部答案中所讨论的:如何在Java中更改CLASSPATH?

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