运行Jar文件时无法打开嵌套的jar文件

时间:2019-04-30 06:59:56

标签: spring spring-boot gradle jar

我正在春季启动中制作一个父子项目(子项目)。我已经通过bootRun创建了jar文件,当我使用java -jar运行jar文件时,出现了一个错误,即无法打开嵌套的jar文件'BOOT-INF / lib / groovy-all-2.5.6.pom' 。

父级的gradle包含依赖项:编译组:“ org.codehaus.groovy”,名称:“ groovy-all”,版本:“ 2.5.6”,ext:“ pom”,并且在子级的gradle中,包括父级项目我也排除了这种依赖性,但是得到了同样的错误。我在下面说明了如何将其排除在孩子的摇篮中。 在排除时我也伪造了传递属性,但事实并非如此。

compile (project(':constellix-dns-base') ) {
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}

这是实际错误:

Exception in thread "main" java.lang.IllegalStateException: Failed to get nested archive for entry BOOT-INF/lib/groovy-all-2.5.6.pom
        at org.springframework.boot.loader.archive.JarFileArchive.getNestedArchive(JarFileArchive.java:108)
        at org.springframework.boot.loader.archive.JarFileArchive.getNestedArchives(JarFileArchive.java:86)
        at org.springframework.boot.loader.ExecutableArchiveLauncher.getClassPathArchives(ExecutableArchiveLauncher.java:70)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:49)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.io.IOException: Unable to open nested jar file 'BOOT-INF/lib/groovy-all-2.5.6.pom'
        at org.springframework.boot.loader.jar.JarFile.getNestedJarFile(JarFile.java:256)
        at org.springframework.boot.loader.jar.JarFile.getNestedJarFile(JarFile.java:241)
        at org.springframework.boot.loader.archive.JarFileArchive.getNestedArchive(JarFileArchive.java:103)
        ... 4 more
Caused by: java.io.IOException: Unable to find ZIP central directory records after reading 25714 bytes
        at org.springframework.boot.loader.jar.CentralDirectoryEndRecord.<init>(CentralDirectoryEndRecord.java:65)
        at org.springframework.boot.loader.jar.CentralDirectoryParser.parse(CentralDirectoryParser.java:52)
        at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:123)
        at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:111)
        at org.springframework.boot.loader.jar.JarFile.createJarFileFromFileEntry(JarFile.java:289)
        at org.springframework.boot.loader.jar.JarFile.createJarFileFromEntry(JarFile.java:264)
        at org.springframework.boot.loader.jar.JarFile.getNestedJarFile(JarFile.java:252)

0 个答案:

没有答案