Невозможно открыть вложенную запись 'WEB-INF / lib / example.jar - PullRequest
0 голосов
/ 11 июня 2019

У меня есть исполняемый файл war, который я запускаю, я удалил один файл .jar из папки WEB-INF / lib. Снова добавил тот же файл JAR в тот же путь, но он не смог запустить файл войны, он становится ниже ошибки

Исключение в потоке "main" java.lang.IllegalStateException: не удалось получить вложенный архив для входа WEB-INF / Lib / тест-МСС-CHK-запросы остальные-приложение-1.0.5 / ком / testcorp / КТС / CHK / запрос / отдых / приложение / ClearinghouseQueryRESTController.class в org.springframework.boot.loader.archive.JarFileArchive.getNestedArchive (JarFileArchive.java:108) в org.springframework.boot.loader.archive.JarFileArchive.getNestedArchives (JarFileArchive.java:86) в org.springframework.boot.loader.ExecutableArchiveLauncher.getClassPathArchives (ExecutableArchiveLauncher.java:70) на org.springframework.boot.loader.Launcher.launch (Launcher.java:49) в org.springframework.boot.loader.WarLauncher.main (WarLauncher.java:58) Вызвано: java.io.IOException: Невозможно открыть вложенный файл JAR 'WEB-INF / Lib / тест-МСС-CHK-запросов остальное-приложение-1.0.5 / ком / testcorp / КТС / CHK / запрос / отдых / приложение / ClearinghouseQueryRESTController.class' в org.springframework.boot.loader.jar.JarFile.getNestedJarFile (JarFile.java:254) в org.springframework.boot.loader.jar.JarFile.getNestedJarFile (JarFile.java:239) в org.springframework.boot.loader.archive.JarFileArchive.getNestedArchive (JarFileArchive.java:103) ... еще 4 Причины: java.lang.IllegalStateException: невозможно открыть вложенная запись "WEB-INF / Lib / тест-МСС-CHK-запросов остальное-приложение-1.0.5 / ком / testcorp / КТС / CHK / запрос / отдых / приложение / ClearinghouseQueryRESTController.class. Он был сжат и вложенные файлы JAR должны храниться без сжатия. Пожалуйста, проверьте механизм, используемый для создания вашего исполняемого файла JAR файл в org.springframework.boot.loader.jar.JarFile.createJarFileFromFileEntry (JarFile.java:282) в org.springframework.boot.loader.jar.JarFile.createJarFileFromEntry (JarFile.java:262) в org.springframework.boot.loader.jar.JarFile.getNestedJarFile (JarFile.java:250) ... еще 6

Есть ли способ решить эту проблему в проекте gradle?

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Исключение в потоке "main" java.lang.IllegalStateException: Не удалось получить вложенный архив для записи

Файл JAR не является исполняемым.


Вы можете использовать следующее.

Сборка фляги с помощью весенней задачи bootJar.По умолчанию он включен, хотя только для того, чтобы убедиться, что Gradle создает jar-файл с помощью весенней задачи bootJar.

bootJar { enabled true }

Отключите задачу jfxJar.

jfxJar { enabled false }

Укажите путь вывода bootJar для jfxAppOutputDir, а такжепредоставить Spring boot JarLauncher в качестве mainClass.

jfx {
    mainClass = 'org.springframework.boot.loader.JarLauncher'

    jfxAppOutputDir = "${buildDir.path}/libs"
}

введите описание ссылки здесь

0 голосов
/ 11 июня 2019

Прежде всего, если у вас есть проект gradle, вам не нужно добавлять внешний Jar, вы можете написать скрипт gradle для использования этих файлов jar / class в вашей программе.

Во-вторых, если вы только что удалили и добавили jar в каталог Lib, вам нужно очистить и собрать проект один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...