java.util.zip.ZipError: invalid CEN-tête (mauvaise signature)
Je suis en utilisant Java 1.7.0_40 sur Red Hat Linux et j'ai le code suivant:
Path zipfile = Paths.get(filename);
FileSystem fs = FileSystems.newFileSystem(zipfile, FileTest.class.getClassLoader());
La filename
variable pointe vers un fichier zip qui est 788MB. La taille non compressée du fichier zip est de 8,3 GO. Lorsque j'exécute le code ci-dessus, j'obtiens l'exception suivante:
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)
J'étais sous l'impression que Java 7 est capable de traiter de gros fichiers zip. Quelqu'un peut-il expliquer pourquoi ce qui se passe?
Grâce.
Vous devez vous connecter pour publier un commentaire.
J'ai moi aussi été confrontés à la question de Maven en fonction du projet. Le problème s'est produite en raison de corrompu pots. Supprimé les bocaux de .m2 dossier et construit le projet de nouveau; et il a travaillé comme un charme.
Ce problème se produit en Raison de jar fichier a été téléchargé est corrompu.
si vous utilisez Maven.
Il y a deux explications possibles:
Vous avez une corruption de fichier ZIP - Erreur de compilation dans le maven2: "invalid CEN-tête (mauvaise signature)"
C'est quelque chose à voir avec ZIP-64:
java.util.zip.ZipException: invalid CEN-tête (mauvaise signature)
Mais également noter que ZIP-64 support était apparemment seulement ajouté à 1.7.0_b55 ... https://blogs.oracle.com/xuemingshen/entry/zip64_support_for_4g_zipfile
Fichier de grande taille (4 GO+) support pour les archives zip (c'est à dire 64 bits, le support des archives zip) a été abordée par la question JDK-4681995 ("Ajouter le support pour les grands (> 4 GO)/zip fichiers jar").
Cependant, ce changement n'a pas été inclus dans Java 7 jusqu'à ce que la version 1.7.0 de construire de 55 ans, qui a été un peu construit après la version spécifique (1.7.0 construire 40) que vous utilisez. La mise à jour de construire de 55 ans ou plus tard, permettrait de résoudre le problème.
C'est le problème de configuration de maven compilateur dans votre fichier pom. Par défaut la version java de la source et de la cible est de 1,5, même utilisé JDK a une version plus récente.
À corriger, ajouter maven compilateur section de configuration du plugin avec une plus grande version de java, par exemple:
Pour plus d'informations, consultez ces liens:
maven compilateur
rapport de bug