Ответ 1
Я тоже столкнулся с проблемой в проекте Maven. Проблема возникла из-за испорченных банок. Удалил банки из папки .m2 и снова построил проект; и он работал как прелесть.
Я использую Java 1.7.0_40 в Red Hat Linux, и у меня есть следующий код:
Path zipfile = Paths.get(filename);
FileSystem fs = FileSystems.newFileSystem(zipfile, FileTest.class.getClassLoader());
Переменная filename
указывает на zip файл, размер которого составляет 788 МБ. Несжатый размер zip файла составляет 8,3 ГБ. Когда я запускаю код выше, я получаю следующее исключение:
Exception in thread "main" java.util.zip.ZipError: invalid CEN header (bad signature)
at com.sun.nio.zipfs.ZipFileSystem.zerror(ZipFileSystem.java:1605)
at com.sun.nio.zipfs.ZipFileSystem.initCEN(ZipFileSystem.java:1058)
at com.sun.nio.zipfs.ZipFileSystem.<init>(ZipFileSystem.java:130)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:139)
at java.nio.file.FileSystems.newFileSystem(FileSystems.java:386)
at FileTest.readFromZip(FileTest.java:35)
at FileTest.main(FileTest.java:25)
У меня создалось впечатление, что Java 7 способен обрабатывать большие zip файлы. Может ли кто-нибудь объяснить, почему это происходит?
Спасибо.
Я тоже столкнулся с проблемой в проекте Maven. Проблема возникла из-за испорченных банок. Удалил банки из папки .m2 и снова построил проект; и он работал как прелесть.
Эта проблема возникает из-за повреждения файла jar.
Есть два возможных объяснения:
У вас есть поврежденный ZIP файл - Ошибка компиляции в maven2: "Недопустимый заголовок CEN (неправильная подпись)"
Это как-то связано с ZIP-64:
java.util.zip.ZipException: недопустимый заголовок CEN (плохая подпись)
Но также обратите внимание, что поддержка ZIP-64, по-видимому, была добавлена только в 1.7.0_b55... https://blogs.oracle.com/xuemingshen/entry/zip64_support_for_4g_zipfile p >
Я получил ту же ошибку при попытке развернуть через пользовательский интерфейс Tomcat - Manager. Но когда я запускал приложение из Spring STS, оно работало просто отлично. Поэтому я воспользовался предложением Puneet Pandey выше, удалил папку .m2, перестроил проект, а затем развернул его с помощью Tomcat-> manager, и на этот раз он запустился без ошибок. Спасибо Пунит Пандей.
Поддержка больших файлов (4GB+) для zip-архивов (т.е. поддержка 64-битных zip) была решена с помощью проблемы JDK-4681995 ("Добавить поддержку больших (> 4 ГБ) файлов zip/jar").
Однако это изменение не было включено в Java 7 до версии 1.7.0 build 55, которая представляла собой несколько сборок после конкретной версии (1.7.0 build 40), которую вы использовали. Обновление до сборки 55 или более поздней решит проблему.
Это проблема конфигурации для maven-компилятора в вашем файле pom. Версия java исходной версии и целевой версии версии 1.5, даже используемая JDK имеет более высокую версию.
Чтобы исправить, добавьте раздел конфигурации плагина maven для компилятора с более высокой версией java, например:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
Для получения дополнительной информации проверьте эти ссылки: