SpringBoot プロジェクト Tomcat が war プログラムをデプロイすると、プログラムは正常に開始されますが、404 例外処理にアクセスします。

1. 異常エラー

Springboot プロジェクトは IntelliJ IDEA を使用して Maven プロジェクトを war パッケージにパックし、pom.xml ファイルによって依存関係が導入されます。

ここに画像の説明を挿入

そして、maven パッケージを介してパッケージ化した後、それを Tomcat の web-apps ファイルの下に置きます

ここに画像の説明を挿入

同時にconfフォルダ配下のserver.xmlファイルが変更され、tomcat起動時に以下の問題が発生しました。

ここに画像の説明を挿入

2、その理由

SpringApplicationBuilder は Spring アプリケーションの構築に使用され、便利で流暢な API とコンテキスト階層のサポートを備えた SpringApplication および ApplicationContext インスタンスのビルダーです。SpringApplicationBuilder がスタートアップ クラスに追加されていない場合、tomcat は SpringBoot アプリケーションをビルドできません。

3. 解決策

スタートアップクラスで必須

  • org.springframework.boot.context.web.SpringBootServletInitializer クラスを継承する
  • configure(SpringApplicationBuilder アプリケーション) メソッドをオーバーライドする

ここに画像の説明を挿入

public class CExperimentPlatformApplication extends SpringBootServletInitializer {
    
    

	public static void main(String[] args) {
    
    
		SpringApplication.run(CExperimentPlatformApplication.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    
    
		return builder.sources(CExperimentPlatformApplication.class);
	}
}

おすすめ

転載: blog.csdn.net/qq_46207024/article/details/130314466