简体   繁体   中英

Java ClassLoader - Adding dynamically loaded jars to the system class loader

Is there any way to update the system class loader at runtime? After I've dynamically loaded a jar file, is there anything I can do to add the classes/packages loaded from this jar into my system class loader?

The reason I'm trying to do this is that while I've had some success through just passing around my newly created ClassLoader in my own code, I'm having trouble with a third party library (apache-WSIF) that doesn't seem to be working with the passed in ClassLoader.

I've been able to achieve what I was attempting to do using the following:

Thread.currentThread().setContextClassLoader(myClassLoader);

As discussed in the top answer here: How do you change the CLASSPATH within Java?

Basically, before calling into the WSIF library all I need to do is make sure I've set my custom classLoader as the contextClassLoader on the current thread.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM