Springブート - WARファイルをTomcatにデプロイする

Spring Boot – TomcatにWARファイルをデプロイします

この記事では、Spring Bootの従来のWARファイルを作成し、Tomcatサーブレットコンテナにデプロイする方法を示します。

Spring Bootで、展開用のWARを作成するには、3つの手順が必要です。

  1. SpringBootServletInitializerを拡張します

  2. 組み込みサーブレットコンテナを提供済みとしてマークしました。

  3. パッケージをwarに更新

でテスト済み

  • Spring Boot 2.1.2.RELEASE

  • Tomcat 8および9

  • メーベン3

Note
Spring Bootでは、サーバーソリューションが組み込まれた新しい最終的な実行可能JARファイルは、すべての実稼働環境、特にデプロイメントチーム(サーバーの最適化と監視のスキルに精通しているチームですが、開発経験の欠如)、サーバーの完全な制御を望んでおり、コードに触れないため、従来のWARファイルが必要です。

1. SpringBootServletInitializerを拡張します

@SpringBootApplicationクラスを更新してSpringBootServletInitializerを拡張し、configureメソッドをオーバーライドします。

1.1 Classic Spring Boot JAR deployment.

StartWebApplication.java

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class StartWebApplication {

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

}

1.2 For WAR deployment.

StartWebApplication.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class StartWebApplication extends SpringBootServletInitializer {

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

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


/*@SpringBootApplication
public class StartWebApplication {

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

}*/

複数のメインクラスの場合、Spring Bootに開始するメインクラスを必ず指定します。

pom.xml

  
      
      com.example.SpringBootWebApplication
  

これを読んでください–Spring Boot – Which main class to start

2. 埋め込みサーブレットコンテナを提供済みとしてマークしました

pom.xml



    
        org.springframework.boot
        spring-boot-starter-thymeleaf
    

    
    
        org.springframework.boot
        spring-boot-starter-tomcat
        provided
    

3. パッケージをwarに更新

pom.xml

  war

完了、プロジェクトをビルドし、展開用のWARファイルをコピーします。

ソースコードをダウンロード

$ git clone https://github.com/example/spring-boot.git
$ cd web-thymeleaf-war
$ mvn package
$ copy web-thymeleaf-war/target/example.war $TOMCAT/webapps/
$ start Tomcat
$ localhost:8080/example