我有使用spring boot loader运行的.jar:
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
java -jar tttt.jar:
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,如果这意味着什么的话。我在这里做错了什么?
答案 0 :(得分:0)
您无法在JAR中执行Jar。如果你需要这样做,那么你必须将依赖的JAR添加到环境变量&利用它。