2

我正在努力解决带有 gradle 脚本的 yguard 的 spring boot jar 混淆。但经过长时间的努力,直到现在还没有成功。

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

混淆适用于普通 jar ,但在添加 spring boot 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
4

1 回答 1

2

原因:java.lang.IllegalStateException:无法打开嵌套条目“BOOT-INF/lib/HikariCP-3.4.2.jar”。它已经被压缩并且嵌套的jar文件必须在没有压缩的情况下存储。请检查用于创建可执行 jar 文件的机制

根据您突出显示的错误消息,我建议配置不压缩 jar。

和插件有一个jar属性。如果设置为ZipEntryCompression.STORED,存档的条目将保持未压缩状态。warentryCompression

例子:

jar {
     entryCompression = ZipEntryCompression.STORED
}

来自Gradle API 文档

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

于 2020-03-14T02:35:19.780 回答