可执行Jar包限制
在使用Spring Boot Loader打包的应用程序时,需要注意以下限制:
-
Zip条目压缩: 嵌套jar的
ZipEntry
必须通过ZipEntry.STORED
方法保存。 这样做是为了能够直接定位到嵌套jar中的具体内容。 嵌套jar文件本身的内容仍然可以被压缩,外部jar中的其他条目也可以被压缩。
-
系统classLoader: 启动的应用程序在加载类时应使用
Thread.getContextClassLoader()
(大多数库和框架默认如此)。 尝试通过ClassLoader.getSystemClassLoader()
加载嵌套jar类会失败。java.util.Logging
始终使用系统classloader。 因此,建议考虑使用不同的日志实现。