SSブログ

tomcatでエラーが出てwarがデプロイできない [技術]

Macでtomcatのアプリがエラーで起動できなくなった。brewのtomcatが10.xになったのでいくつか修正して起動しようとしたら大惨事。
org.apache.catalina.startup.HostConfig.deployWAR Webアプリケーションアーカイブ [/usr/local/Cellar/tomcat/10.0.5/libexec/webapps/app.war] を配備中のエラー
        java.lang.IllegalStateException: 子要素を開始できません。
...
        Caused by: java.util.zip.ZipException: zip END header not found
                at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1585)
...

Stack Overflowの記事によれば、jarファイルが壊れているらしい。以下のコマンドで壊れているjarが見つかるので、warのビルド環境から削除する必要がある。
for j in $(find /path/to/lib -name '*.jar'); do jar -tvf $j > /dev/null 2>&1; [ "$?" -ne 0 ] && echo "$j jar is broken"; done
どうやらMavenがダウンロードしたファイルがそもそも壊れているか、今の環境では開けないようだ。

壊れたjarを参照しているソースコードはとりあえずコメント化するとか削除した。何かを実験していて放置していたらしいので(久しぶりなので忘れた)、特に実害なし。
nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。