I now made it return an error when calling initVM() a second time and updating the VM's classpath failed because the system class loader is not an instance of java.net.URLClassLoader.
Instead, call initVM() only once but with all the module.CLASSPATH strings set into its classpath keyword argument: import os, mod1, mod2, mod3 mod3.initVM(classpath=os.pathsep.join([mod1.CLASSPATH, mod2.CLASSPATH, mod3.CLASSPATH])) Andi..