Javaの実行でjava.util.zip.ZipExceptionが発生する場合の対処
小粋空間 » Programming Language » Java » Javaの実行でjava.util.zip.ZipExceptionが発生する場合の対処
Javaの実行でjava.util.zip.ZipExceptionが発生する場合の対処について紹介します。
1.問題点
仕事でJavaのプログラムを作成し、antを使ってビルドしてjarファイルを作りました。
が、このプログラムを実行するとなぜかjava.util.zip.ZipExceptionが発生します。
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:203)
at java.util.zip.ZipFile.<init>(ZipFile.java:234)
なお、このプログラムでzipに関する操作は一切ありません。
2.原因
作成したjarファイルをsftpを使ってサーバにアップロードしているのですが、このときに「ASCIIモード」で転送しているのが原因のようです。
参考:JBoss5: Cannot deploy due to java.util.zip.ZipException: error in opening zip file
3.対処
転送モードを「バイナリ」に変更してアップロードすることで、この例外は発生しなくなり、正常に実行されるようになりました。
ちょっと特殊なケースに思われますので記事にしてみました。