Spring Boot – TomcatにWARファイルをデプロイします
この記事では、Spring Bootの従来のWARファイルを作成し、Tomcatサーブレットコンテナにデプロイする方法を示します。
Spring Bootで、展開用のWARを作成するには、3つの手順が必要です。
-
SpringBootServletInitializerを拡張します -
組み込みサーブレットコンテナを提供済みとしてマークしました。
-
パッケージを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