Tomcatはサーバーに公開できませんでした。 IndexOutOfBoundsException | java.util.zip.ZipException



Tomcat Could Not Publish Server



EclipseのTomcatリリースプロジェクトがエラーを報告します:サーバーに公開できませんでした。 java.lang.IndexOutOfBoundsException
次に、実際のTomcatでエラーを開始しました。

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to initialize component [root@xxxxx] at ... Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [root@xxxxx] at ... Caused by: java.util.zip.ZipException: invalid LOC header (bad signature) at ...

私は怠惰すぎてログを見ることができず、新しいTomcatを実行するだけで、単純で失礼でした。結果はまだエラーであり、ログを見に行きました。
次に、ログの次の行:java.util.zip.ZipException
圧縮パッケージが間違っていることを証明しました。libの下のjarが間違っている可能性が非常に高く、パッケージの管理にmavenを使用しています。次に、mavenローカルリポジトリが間違っていることを証明します。



それで、libはどのjarが間違っているかを判断する方法を非常に多くのjarに報告しましたか?

プロジェクトのwarパッケージがabc.warであると仮定すると、zip解凍ツールで判断できます-
最初に解凍ツールを使用してabc.warを解凍し、次にWEB-INF / libディレクトリに入り、すべてのjarを一度解凍すると、解凍ツールエラーが表示されます。
zipError
上の図からわかるように、httpclient-4.5.3.jarは間違っています。



次に、Mavenローカルリポジトリのディレクトリに移動します
検索バーで「httpclient-4.5.3.jar」を検索します。

右httpclient-4.5.3.jar
[ファイルの場所を開く]を選択し、httpclient-4.5.3.jarが配置されているディレクトリを入力します。

httpclient /4.5.3ディレクトリ全体のすべてのファイルを削除します。

「ファイルが使用されています」というプロンプトが表示された場合は、ファイル自体がEclipseによって占有されている可能性があります。Eclipseを終了して、再試行してください。

この時点で、MavenUpdateのEclipseに戻ります。



私はいつもシンプルで失礼な解決策が好きです╮(╯▽╰)╭、