春天开机 .Jar 构建文件限制



我正在尝试构建一个 6GB 的大小。JAR存档,但它不起作用。似乎文件有 4GB 的限制,因为如果我将文件减少到 4GB (4096MB) 的限制,构建就会成功。但我需要它>=6GB,它必须包含 25000 个文件。求求你,帮帮我。

尝试启动此.jar时出现的错误:

Exception in thread "main" java.lang.IllegalStateException:   java.lang.IndexOutOfBoundsException
    at org.springframework.boot.loader.ExecutableArchiveLauncher.<init>(ExecutableArchiveLauncher.java:43)
    at org.springframework.boot.loader.JarLauncher.<init>(JarLauncher.java:35)
    at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.lang.IndexOutOfBoundsException
    at org.springframework.boot.loader.jar.AsciiBytes.<init>(AsciiBytes.java:69)
    at org.springframework.boot.loader.jar.CentralDirectoryFileHeader.load(CentralDirectoryFileHeader.java:83)
    at org.springframework.boot.loader.jar.CentralDirectoryParser.parseEntries(CentralDirectoryParser.java:68)
    at org.springframework.boot.loader.jar.CentralDirectoryParser.parse(CentralDirectoryParser.java:57)
    at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:118)
    at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:106)
    at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:92)
    at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:83)
    at org.springframework.boot.loader.archive.JarFileArchive.<init>(JarFileArchive.java:61)
    at org.springframework.boot.loader.archive.JarFileArchive.<init>(JarFileArchive.java:57)
    at org.springframework.boot.loader.Launcher.createArchive(Launcher.java:129)
    at org.springframework.boot.loader.ExecutableArchiveLauncher.<init>(ExecutableArchiveLauncher.java:40)
    ... 2 more

即使我真的不喜欢支持这种方法,如果您使用 Java 7 和也支持这种方法的文件系统/操作系统,这原则上应该有效。使用Java 6你没有机会,但无论如何这是EOL。参见 每个 jar 的最大文件数是多少?

Spring 引导加载程序不支持 zip64 格式:https://github.com/spring-projects/spring-boot/issues/2895

重组项目以将某些类打包到嵌套的 jar 中。如果您使用的是 gradle,这应该可以通过多模块项目轻松实现。

我只是简单地使用了SpringBoot的addResourceLocations()和它的类路径。.JAR。就这么简单,我以前曾经这样做过,我只是忘记了。傻我。