E.5 Executable jar restrictions
There are a number of restrictions that you need to consider when working with a Spring Boot Loader packaged application.
E.5.1 Zip entry compression
The ZipEntry
for a nested jar must be saved using the ZipEntry.STORED
method. This is required so that we can seek directly to individual content within the nested jar. The content of the nested jar file itself can still be compressed, as can any other entries in the outer jar.
E.5.2 System ClassLoader
Launched applications should use Thread.getContextClassLoader()
when loading classes (most libraries and frameworks will do this by default). Trying to load nested jar classes via ClassLoader.getSystemClassLoader()
will fail. Please be aware that java.util.Logging
always uses the system classloader, for this reason you should consider a different logging implementation.