今日、会社の 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プロジェクトを起動し、対応する環境を指定する方法
|