IllegalStateException: невозможно открыть вложенную запись 'BOOT-INF / lib / xxx.jar'. используя Yguard - PullRequest
1 голос
/ 14 марта 2020

Я работаю над тем, чтобы решить проблему обфускации фляги весенней загрузки с помощью yguard с помощью скриптов gradle. Но не кипятить до сих пор после долгих часов.

Может кто-нибудь указать мне любую хорошую документацию или примеры

обфускация работает с простым jar, но после добавления jar весенней загрузки много проблем. Я не запутываю папку org (классы весеннего загрузчика внутри boot jar). Я получаю сообщение об ошибке ...

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

1 Ответ

1 голос
/ 14 марта 2020

Причина: java .lang.IllegalStateException: Невозможно открыть вложенную запись 'BOOT-INF / lib / HikariCP-3.4.2.jar'. Он был сжат, и вложенные файлы JAR должны храниться без сжатия. Пожалуйста, проверьте механизм, использованный для создания вашего исполняемого файла jar

Согласно вашему выделенному сообщению об ошибке, я предлагаю настроить не сжимать jar.

jar и Плагины war имеют свойство entryCompression. Если установлено значение ZipEntryCompression.STORED записи архива остаются несжатыми.

Пример:

jar {
     entryCompression = ZipEntryCompression.STORED
}

Из Gradle API Документация

Уровень сжатия записей архива. Если установлено значение ZipEntryCompression.DEFLATED (по умолчанию), каждая запись сжимается с использованием алгоритма DEFLATE. Если установлено значение ZipEntryCompression.STORED, записи архива остаются несжатыми.

...