Tomcat は、Springboot プロジェクトの WAR パッケージの起動時にエラーを報告します: 子の起動時にエラーが発生しました

Tomcat は、Springboot プロジェクトの WAR パッケージの起動時にエラーを報告します: 子の起動時にエラーが発生しました

今日、会社の Springboot プロジェクトは、テストのためにテスト サーバーにデプロイする準備が整いました。WAR ファイルをパッケージ化して Tomcat にインストールして起動すると、フロントエンド ファイルにはアクセスできますが、インターフェイス リクエストは常に 404 です。長い間、原因を探していました。Tomcat の起動は成功し、WAR パッケージ化もビルドの成功を促します。Tomcat の起動ログにエラーが見つかりました。

java.lang.IllegalStateException: 子の開始エラー
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720) で
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) で
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) で
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978) で
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1848) で
java.util.concurrent.Executors$RunnableAdapter.call(不明なソース)
java.util.concurrent.FutureTask.run(ソース不明)
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) で
java.util.concurrent.AbstractExecutorService.submit(ソース不明)
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773) で
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) で
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576) で
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309) で
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) で
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) で
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) で
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936) で
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) で
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) で
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) で
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) で
java.util.concurrent.FutureTask.run(ソース不明)
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) で
java.util.concurrent.AbstractExecutorService.submit(ソース不明)
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) で
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) で
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) で
org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) で
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) で
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) で
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) で
org.apache.catalina.startup.Catalina.start(Catalina.java:738) で
sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド)
sun.reflect.NativeMethodAccessorImpl.invoke(不明なソース)
sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース)
java.lang.reflect.Method.invoke(不明なソース)
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) で
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) で
原因: org.apache.catalina.LifecycleException: コンポーネント [org.apache.catalina.webresources.JarResourceSet@67d48005] の初期化に失敗しました。
org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) で
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139) で
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:173) で
org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:726) で
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) で
org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4792) で
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4928) で
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) で
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) で
... 37 件以上
原因: java.lang.IllegalArgumentException: java.util.zip.ZipException: zip ファイルを開くときにエラーが発生しました
org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:143) で
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) で
... 44件以上
原因: java.util.zip.ZipException: zip ファイルを開くときにエラーが発生しました
java.util.zip.ZipFile.open(ネイティブメソッド)
java.util.zip.ZipFile.<init>(ソース不明)
java.util.zip.ZipFile.<init>(ソース不明)
java.util.jar.JarFile.<init>(不明なソース)
java.util.jar.JarFile.<init>(不明なソース)
org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:221) で
org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:206) で
org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:140) で
... 45件以上

私は次のことに注意を払ってきました: 子レベルの開始時にエラーが発生しました。私は長い間解決策を探していました!その後、次の zip エラーの問題に注目し、パッケージングの問題を検討し直しました。最終的に、パッケージング中に問題が発生したことがわかりました。最終的にはビルドは成功しましたが、その前にエラーが表示されていましたが、気づきませんでした。スクリーンショットは次のとおりです。

これが問題です、どうやって解決するのでしょうか?

解決:

Maven リポジトリからエラーの出た jar パッケージを削除し、再度ダウンロードしてパッケージ化してみました。今度はエラーが出ませんでした。その後 Tomcat に放り込んで起動してみました。エラーログも出ず、アクセスも正常でした!

この記事を活用して、今後はプロジェクトの実行、パッケージ化、その他のプロセスやログにもっと注意を払うように記録し、自分自身に思い出させたいと思います。

要約する

Tomcat が springboot プロジェクト war パッケージ エラーを開始することに関するこの記事はこれで終わりです: 子を開始するときのエラー解決。Tomcat が springboot プロジェクト war パッケージ エラーを開始することに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Springboot プロジェクトを開始するときにコマンドを使用して環境を動的に指定する方法
  • 管理者 - SpringBoot + Maven マルチスタート環境構成例の詳細な説明
  • IDEA2020.1 は SpringBoot プロジェクトを起動しますが、Java パッケージ: xxx は存在しません
  • SpringBoot+jsp プロジェクトを開始するときに発生する 404 の解決策
  • Centos で SpringBoot プロジェクトのスクリプトを開始および停止する方法
  • Springbootプロジェクトを起動し、対応する環境を指定する方法

<<:  jsを使用してシンプルなカルーセル効果を実現する

>>:  JQueryはアニメーション効果の非表示と表示を実装します

推薦する

純粋な JS を使用して vue.js で双方向バインディング機能を実装する方法

目次まず、双方向バインディングを実装するアイデアについて説明します。これらの機能を実装するための j...

Linux で crontab を使用してスケジュールされたタスクを追加する方法

序文Linux システムはシステム サービス crond によって制御されます。 Linux システ...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

HTML の基礎必読 - CSS スタイルシートの包括的な理解

CSS (カスケーディング スタイル シート) は、HTML Web ページを美しくするために使用さ...

良い広告にはどのような特徴が必要ですか?

広告業は人間であることに似ていると言う人がいます。これは本当です。優れた広告には、優れた人間と同じよ...

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

ネイティブJSで様々なモーションの複合モーションを実現

この記事では、ネイティブ JS で実装された複合モーションを紹介します。複合モーションとは、異なる属...

MySQLにおける静的変数の役割の詳細な説明

MySQLにおける静的変数の役割の詳細な説明静的変数の使用 静的変数サンプルコード: 関数テスト()...

JavaScriptはイベントリスナーをイベント委任にバッチで追加します。詳細なプロセス

1. イベント委任とは何ですか?イベント委譲: イベントバブリングの特性を利用して、子要素に登録すべ...

Docker Consul の概要とクラスター環境構築手順(グラフィカルな説明)

目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...

nginx ログを elasticsearch にインポートする方法の例

nginx ログは filebeat によって収集され、logstash に渡され、logstash...

CSSタグの表示モードの詳細な説明

ラベル表示モード(重要) divタグとspanタグ1. スタイルはまったく同じですが、ラベルが異なり...

MySQL 8.0.12 解凍バージョンのインストールチュートリアル

この記事では、MySQL 8.0.12解凍版のインストールチュートリアルを参考までに紹介します。具体...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

削除、切り捨て、ドロップの違いと選択方法

序文先週、同僚が私に尋ねました。「兄さん、MySQL にバグを見つけました。午後にディスクをクリーン...