[Java][Spring Boot] 自動デプロイする - NetBeansで始めるSpring Boot (4)
NetBeansで始めるSpring Bootと題して、記事を3つ書きました。
「NetBeansで〜」と題しながら、自動デプロイが動かず不便でした。
アプリケーションサーバとしてTomcatを動かし、自動デプロイさせるようにします。
アプリケーションクラスを変更
アプリケーションクラスをSpringBootServletInitializer
から継承させるようにします。
src/main/java/com/example/DemoApplication.java
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
main
メソッドは不要な気もするのですが、ないとビルド通らないです。
pom.xmlを変更
packagingをwar
へ
packaging
をjar
からwar
へ変更します。
pom.xml
<packaging>jar</packaging>
↓
pom.xml
<packaging>war</packaging>
組み込みTomcatを依存性から外す
scope
をprovided
にします。
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
プロジェクトのプロパティを変更
プロジェクトを右クリック > [Properties]メニュー > [Run]ツリーとすすみ、ServerとしてTomcatを選択します。
[Actions]ツリーへすすみ、ActionsとしてRun project、Debug project、Profile projectをそれぞれ選択し、[Remove/Reset]ボタンをクリックします。
ビルドして実行……その前に
Tomcat 8.5以降を使用する場合は、NetBeans 8.2以降じゃないと、起動/停止に失敗します。
ビルドして実行
ちゃんとブラウザが起動します。
テンプレートを変更して保存すると、自動デプロイされて反映されます。