私は問題があります。現在のコードは、IntelliJで実行すると正常に機能しますが、Maven3で実行すると例外として失敗します。
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でJava1.6を使用しています。Maven3.0.4。他のバージョンのJavaを試しても、同じ結果になりました。
誰かが何が起こっているのか考えていますか?