IllegalStateException:无法打开嵌套条目'BOOT-INF / lib / xxx.jar'。使用yguard

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

我正在通过gradle脚本与yguard一起解决spring boot jar混淆问题。但是经过很长的时间之后,直到现在还是没有成功。

有人可以给我指出任何好的文档或示例

混淆处理适用于普通jar,但是在添加了春季启动jar之后,出现了很多问题。我不是在混淆org(boot jar里面的spring boot loader类)文件夹。我收到错误消息...

Caused by: java.lang.IllegalStateException: Unable to open nested entry 'BOOT-INF/lib/HikariCP-3.4.2.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
java spring-boot gradle obfuscation yguard
1个回答
0
投票

原因:java.lang.IllegalStateException:无法打开嵌套条目'BOOT-INF / lib / HikariCP-3.4.2.jar'。 它已被压缩,嵌套的jar文件必须未经压缩地存储。请检查用于创建可执行jar文件的机制

根据您收到的错误消息,建议配置为不压缩jar。

jarwar插件具有entryCompression属性。如果设置为ZipEntryCompression.STORED,则存档的条目将保持未压缩状态。

示例:

jar {
     entryCompression = ZipEntryCompression.STORED
}

来自Gradle API Documentation

归档文件条目的压缩级别。如果设置为ZipEntryCompression.DEFLATED(默认设置),则使用DEFLATE算法压缩每个条目。如果设置为ZipEntryCompression.STORED,则归档的条目将保持未压缩状态。

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