无法在.jar中打开嵌套条目

问题描述 投票:3回答:1

我有.jar与spring boot loader一起运行:

apply plugin: 'spring-boot'

jar {
    into('lib') {
        from configurations.runtime
    }
    manifest {
        attributes("Implementation-Vendor": "tttt",
            "Implementation-Title": project.name,
            "Implementation-Version": version,
            "Implementation-Vendor-Id": "tttt",
            "Built-By": "Administrator",
            "Build-Jdk": "1.7.0_101",
            "Start-Class": "org.cp.Application",
            "Spring-Boot-Version": "1.3.3.RELEASE",
            "Main-Class": "org.springframework.boot.loader.JarLauncher")
    }
}

我运行我的构建:

:ttt:compileJava
:ttt:processResources
:ttt:classes
:ttt:findMainClass
:ttt:jar
:ttt:bootRepackage
:ttt:assemble
:ttt:check
:ttt:build

Javascript任务栏:

java.lang.IllegalStateException: Unable to open nested entry 'lib/spring-boot-starter-1.3.3.RELEASE.jar'. It has been compressed and nested jar files must be stored without compression. Please check the mechanism used to create your executable jar file
at org.springframework.boot.loader.jar.JarFile.createJarFileFromFileEntry(JarFile.java:382)
at org.springframework.boot.loader.jar.JarFile.createJarFileFromEntry(JarFile.java:357)
at org.springframework.boot.loader.jar.JarFile.getNestedJarFile(JarFile.java:343)
at org.springframework.boot.loader.archive.JarFileArchive.getNestedArchive(JarFileArchive.java:112)
at org.springframework.boot.loader.archive.JarFileArchive.getNestedArchives(JarFileArchive.java:96)
at org.springframework.boot.loader.ExecutableArchiveLauncher.getClassPathArchives(ExecutableArchiveLauncher.java:75)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:60)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)

我手动将spring.boot.loader分解为src / main / resources,如果这意味着什么的话。我在这做错了什么?

java gradle
1个回答
0
投票

你不能在JAR中执行Jar。如果你需要这样做,那么你必须将依赖的JAR添加到环境变量并使用它。

© www.soinside.com 2019 - 2024. All rights reserved.