LoginSignup
42
56

More than 5 years have passed since last update.

Spring Boot解説第4回(開発環境編:warファイル作成)

Last updated at Posted at 2016-04-08

こんにちは!
情創 技術開発局の@TEBASAKIです。
桜は散りましたが、私の手羽は満開です。

今回もSpring Boot解説のほうを進めていきたいと思います。
第4回は「開発環境編:warファイル作成」です。

warファイル作成の理由

Spring Bootはビルドで作成したjarの中にTomcatが組み込まれており、
jar単独でもWebアプリケーションが動作します。
そして、サーバー環境でjarをサービスに登録し、
apacheと連携させる流れとなります。(他にも方法ありますが、割愛)

一つのTomcatで複数アプリケーションを管理したい場合、
Spring Bootでwarファイルを作成することができます。
今回はwarファイルの作成方法を解説します。

なお、今回使用するプログラムは第2回で使用したHelloWorldです。

1.プログラムの修正

エントリポイントのApplication.javaが、
SpringBootServletInitializerを継承するように修正します。
そして、設定クラスを認識させるために、
SpringApplicationBuilderメソッドを追加します。

Application.java

/* 省略 */

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

/* 省略 */

    /**
     * Servletコンテナ起動時の設定クラス認識。
     *
     * <PRE>
     * Servletコンテナで起動したときにどのクラスが設定クラスなのか認識させます。
     * </PRE>
     *
     * @param  SpringApplicationBuilder
     * @return SpringApplicationBuilder
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

2.build.gradleの修正

apply plugin: 'war'を追加します。
また、dependenciesに以下の記述を追加することで、
組み込みのTomcatをwarファイルに含めないようにします。

builde.gradle

// 省略

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
apply plugin: 'war'

// 省略

dependencies {

// 省略

    providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")

}

3.warファイルの作成

いよいよwarファイルの作成に移りますが、その前にコンテキストパスの設定をします。
src/mainの下にresourcesフォルダを作成し、
その下にapplication.propertiesファイルを作成、以下のように記述します。

application.properties
//例
server.context-path=/demo

以上を保存したら、右クリック→Gradle→すべてリフレッシュを選択して、
Gradleプロジェクトのリフレッシュを行います。
続いてプロジェクトを右クリック→Gradle→タスク・クイック・ランチャーを選択し、
「war」と記述してからEnterで実行します。
image

または、Gradleタスクタブでプロジェクトを選択し、warをダブルクリックして実行します。
このとき濃緑色のGradleタスクを使うことに注意しましょう。
image

(プロジェクトフォルダ)→build→libsにwarファイルが作成されていれば完了です。

4.Tomcatへのwarファイル配備

第1回で解説した通り、Tomcat8を使用します。
Tomcatのインストールについてはこちらを参照してください。
Configure TomcatからStartを押してTomcatを起動します。
※Startup typeがAutomaticになっているとTomcatが自動で起動してしまい、
 Spring Bootの組み込みTomcatが起動できなくなってしまうので、
 Manualにしておくことをおすすめします。
image

次にTomcat Managerを起動します。
ここでwarファイルを配備します。
image

配備方法は2通りありますが、今回は上の方法で配備します。
先ほどapplication.propertiesにコンテキストパスを設定しましたが、
Tomcatに配備する際はこちらで設定しなければなりません。
コンテキストパスに/demoを指定して、warファイルのパスを指定したら配備を押します。
下記のようにアプリケーション一覧に表示されたら配備完了です。
image

最後に http://localhost:8080/demo/ にアクセスして確認してみましょう。
下記のように表示されたらOKです。
image

今回はここまでです。
それではまたお会いしましょう!

42
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
56