4
有什么办法可以在运行时更新系统类加载器吗?在我动态加载了一个jar文件之后,有什么可以将从这个jar加载的类/包添加到我的系统类加载器中吗?Java ClassLoader - 将动态加载的罐子添加到系统类加载器
我试图做到这一点的原因是,虽然我通过在自己的代码中传递新创建的ClassLoader获得了一些成功,但我遇到了第三方库(apache-WSIF)这似乎并没有在ClassLoader中传递。
有什么办法可以在运行时更新系统类加载器吗?在我动态加载了一个jar文件之后,有什么可以将从这个jar加载的类/包添加到我的系统类加载器中吗?Java ClassLoader - 将动态加载的罐子添加到系统类加载器
我试图做到这一点的原因是,虽然我通过在自己的代码中传递新创建的ClassLoader获得了一些成功,但我遇到了第三方库(apache-WSIF)这似乎并没有在ClassLoader中传递。
我已经能够做到什么,我尝试使用以下的事情:。
Thread.currentThread()setContextClassLoader(myClassLoader);
正如在这里最多的回答讨论:How do you change the CLASSPATH within Java?
基本上,调用到WSIF库之前,我需要做的就是确保我已经把我的定制ClassLoader作为当前线程上contextClassLoader。
可能的重复项:http://stackoverflow.com/questions/60764/how-should-i-load-jars-dynamically-at-runtime和http://stackoverflow.com/questions/194698/how-to-加载一个jar文件在运行时 – paradigmatic
我不认为你可以添加任何东西到系统类加载器在运行时。原因在对paradicmatic相关问题的答案中进行了解释。 –