Spring Boot(Maven Project)でビルド時にwar/jarファイルを自動で生成する方法

eclipseでプロジェクトを作成すると自動でビルドが実行されます。この際にwarもしくはjarファイルを自動で生成する方法をご紹介します。

なおMavenプロジェクトの場合、Maven installを実行すると明示的にリビルドが行われるので何かが更新されない場合にはMaven installを実施してみるといいです。

Spring Bootでは、warもしくはjarファイルはtargetフォルダの中にあります。Spring Bootでは、ビルドシステムをMavenかGradleか選択することが出来ます。今回はMavenを選択した際の、warもしくはjarファイルを自動で生成する方法を2つご紹介します。

方法1 pom.xmlで設定する

pom.xmlでpackaging要素にwarまたはjarを設定します。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.2.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.example</groupId>
  <artifactId>projectname</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>projectname</name>
  <description>Demo project for Spring Boot</description>

作成済のプロジェクトを変更したいときなどはこのようにすればいいです。

方法2 GUIで設定

プロジェクト作成時にGUIで設定します。

新規で作成するプロジェクトはこのように始めに設定しておくのがいいです。

JarとWarの使い分けですが、1つのアプリケーションサーバーで複数のプロジェクトを起動させたい場合にはWarファイルを生成して対象アプリケーションサーバーにデプロイします。

特に上記のような要件が無い場合にはJarファイルを生成するとアプリケーションサーバー(Tomcat)も同梱されるので、こちらの方が手軽で良いでしょう。