我正在春季启动中制作一个父子项目(子项目)。我已经通过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)