我有个问题。当我通过 IntelliJ 运行当前代码时,它运行良好,但是当我在 maven 3 中运行它时它失败并出现异常。
public static boolean isZipContent(InputStream inputstream) throws IOException {
BufferedInputStream bis = new BufferedInputStream(inputstream);
ZipInputStream zis = new ZipInputStream(bis);
ZipEntry ze = zis.getNextEntry();
if (ze == null) {
return false;
}
zis.closeEntry();
zis.close();
bis.close();
return true;
}
例外:
java.util.zip.ZipException:无效的文字/长度设置 在 java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164) ~[na:1.7.0_06] 在 java.util.zip.ZipInputStream.read(ZipInputStream.java:193) ~[na:1.7.0_06] 在 java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:139) ~[na:1.7.0_06]
当我使用 WinZip 或其他方式手动打开 Zip 文件时,它们看起来还不错 - 正如我所说,一切都在 IntelliJ 中完美运行。
我已经调试并检查了文件编码、类加载器和所有东西,一切看起来都一样,但是如果我使用 Maven3 运行测试,代码仍然会始终失败,但在 IntelliJ 中工作。
它在 zis.closeEntry(); 上失败了 有一个例外。我确保在调试期间流仍然打开。
我在 Win7 上使用 Java 1.6。Maven 3.0.4。我尝试过其他版本的 Java,结果相同。
有谁知道发生了什么?