Исключение при распаковке в java war файле под Linux - PullRequest
0 голосов
/ 14 мая 2018

У меня проблема при распаковке zip-файла в моем java-приложении.Это веб-сервис, упакованный как файл военных действий и работающий на молнии 9.4.Это моя (сокращенная) трассировка стека

2018-05-10 20:13:48,180 ERROR [ProductPublisherHelper:63] net.lingala.zip4j.exception.ZipException: net.lingala.zip4j.exception.ZipException: compression type not supported
net.lingala.zip4j.exception.ZipException: net.lingala.zip4j.exception.ZipException: net.lingala.zip4j.exception.ZipException: compression type not supported
        at net.lingala.zip4j.unzip.Unzip.initExtractFile(Unzip.java:163)
        at net.lingala.zip4j.unzip.Unzip.initExtractAll(Unzip.java:83)

Мой сервер работает под Ubuntu 16.04.Этот код работал нормально до сих пор.Это просто один файл, который не удается распаковать.В то же время, тот же код прекрасно работает в тех же условиях (пристань, война, тот же файл для распаковки) в Windows ...

Файл представляет собой большой сжатый файл TIF размером> 1 ГБ, кроме этогоЯ не думаю, что это что-то особенное.Есть ли что-то в моей настройке, что я должен проверить, что может объяснить, почему он не работает под Linux, но работает под Windows?JDK - это 1.8.0_101 в Windows и 1.8.0_171 в Linux.

1 Ответ

0 голосов
/ 14 мая 2018

Возможно, проблема в используемой вами внешней библиотеке. Для своих проектов я использую встроенный ZipInputStream.

Создать InputStream: ZipInputStream zis = new ZipInputStream(Files.newInputStream(inputPath))

Просмотр файлов в формате .zip: ZipEntry ze = zis.getNextEntry();

Скопируйте ввод из zip в новый файл:

try (OutputStream output = Files.newOutputStream(newFile)) { IOUtils.copy(zis, output); }

IOUtils от org.apache.commons.io

...