Description
Right now, we stack a new URLClassLoader when a user add a jar through SQL's add jar command. This approach can introduce issues caused by the ordering of added jars when a class of a jar depends on another class of another jar.
For example,
ClassLoader1 for Jar1.jar (A.class) | |----- ClassLoader2 for Jar2.jar (B.class depending on A.class)
In this case, when we lookup class B, we will not be able to find class A because Jar2 is the parent of Jar1.