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はアニメーション効果の非表示と表示を実装します

推薦する

MySQL ベースのストレージエンジンとログの説明 (包括的な説明)

1.1 ストレージエンジンの概要 1.1.1 ファイルシステムストレージファイル システム: オペ...

CentOS 7 に mysql5.7 の解凍バージョンをインストールするチュートリアル

1. mysqlの圧縮パッケージを/usr/localフォルダに解凍し、名前をmysqlに変更します...

mysql-8.0.19-winx64 をインストールしてログインするための初心者向けチュートリアル (初心者必読)

目次1. インストールパッケージ(64ビット)をダウンロードする2. MySQLデータベースをインス...

MySQL接続クエリの原理と応用

概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...

MySQL スロークエリ: スロークエリを有効にする

1. スロークエリの用途は何ですか? long_query_time を超えて実行されるすべての S...

MySQL インデックスの長所と短所、およびインデックス作成のガイドライン

1. インデックスを作成する理由(メリット)インデックスを作成するとシステムのパフォーマンスが大幅に...

サーバー上で Nginx を使用して Springboot プロジェクトをデプロイする方法の詳細なチュートリアル (jar パッケージ)

1. Javaプロジェクトをjarパッケージにパッケージ化するここではMavenツールを使用します...

MySQL 5.7 mysql コマンドラインクライアントの使用コマンドの詳細

MySQL 5.7コマンドを使用するMySQLコマンドラインクライアント1. パスワードを入力してく...

ページ リファクタリング スキル - Javascript、CSS

JS、CSSについてCS: ...上部のスタイルシートCSS式を避ける外部JS、CSSの使用JSと...

VMware 上の CentOS に Oracle12.2 をサイレント インストールする詳細なグラフィック チュートリアル

環境準備: VMware+CentOS、jdk 1. システムディスクのサイズを確認する1. コマン...

{{ }} で関数を直接使用する WeChat アプレットの例

序文WeChat アプレット開発 (ネイティブ wxml、wxcss) で、{{ }} 内で直接メソ...

JavaScript es6 の新しい配列メソッドの詳細な説明

目次1. 各() 2. arr.filter() 3. arr.every() 4. arr.map...

Vue でのカスタムディレクティブの基本的な使用方法

目次序文文章1. グローバル登録2. 部分登録3. フック機能とパラメータ設定4. 柔軟な使い方(1...

雨滴効果を実現する JavaScript キャンバス

この記事の例では、雨滴効果を実現するためのキャンバスの具体的なコードを参考までに共有しています。具体...