可执行 Jar 限制
在使用 Spring Boot Loader 打包的应用程序时,需要考虑以下限制:
-
Zip entry 压缩: 嵌套 jar 的
ZipEntry
必须使用ZipEntry.STORED
方法保存。 这是必需的,以便我们可以直接查找嵌套 jar 中的单个内容。 嵌套 jar 文件本身的内容仍然可以压缩,外部 jar 中的任何其他条目也可以压缩。
-
系统 classLoader 中: 启动的应用程序应在加载类时使用(默认情况下,大多数库和框架都这样做)。 尝试加载嵌套的 jar 类失败。 始终使用 System 类加载器。 因此,您应该考虑不同的日志记录实现。
Thread.getContextClassLoader()
ClassLoader.getSystemClassLoader()
java.util.Logging