Adds FastClasspathScanner#createClassLoaderForMatchingClasses()
, which overrides all classloaders with a single URLClassLoader
that loads all classes matched by whitelist criteria. This may be needed if you get a ClassNotFoundException
, UnsatisfiedLinkError
, NoClassDefFoundError
, etc., due to trying to load classes that depend upon each other, but that are loaded by different ClassLoaders in the classpath.
Also adds parallel unzipping of jar package roots (e.g. BOOT-INF/classes
) for speed. The parallel unzipping code has been split out into a separate project, and given a commandline interface similar to Info-Zip: https://github.com/lukehutch/quickunzip