【Java】【Spring】warファイルを作成して、Tomcatで動かす

前回記事では、VSCodeとTomcatを連携させるまでの環境構築を実施しました。本記事では、TomcatにデプロイするためのwarファイルをSpringフレームワークで作成していきたいと思います。

VSCode拡張機能のインストール

まずは、以下の拡張機能をインストールします。

  1. Spring Boot Extension Pack

Springプロジェクトの作成

まずは、Springのひな型を使って、空プロジェクトを作成します。

  1. VSCodeで、Tomcatの「webapps」フォルダを開く

  2. コマンドパレット(Ctrl+Shift+P)を開き、「Spring Initializr: Create a Maven Project…」を選択する。
    Springプロジェクト作成001

  3. spring bootのバージョンを聞かれるので、最新を選択します。
    Springプロジェクト作成002

  4. 今回はJavaで作成するので、「Java」を選択します。
    Springプロジェクト作成003

  5. ほかの人と被らないプロジェクトのIDを入力します。今回は「xyz.one_cut.20260425」とします。(ハイフンは使えないようです)
    Springプロジェクト作成004

  6. プロジェクトの名前を指定します。
    Springプロジェクト作成005

  7. パッケージ名(名前空間)を指定します。
    Springプロジェクト作成006

  8. warを選択します。(もし、tomcatも内部に含んだ実行可能形式にする場合はjarを選択します)
    Springプロジェクト作成007

  9. 利用するJavaのバージョンを指定します。今回の環境は「25」でした。
    Springプロジェクト作成008

  10. 依存ライブラリは「Spring Web」のみ選択します。
    Springプロジェクト作成009

  11. 最後に、プロジェクトの保存先を選択します。
    Springプロジェクト作成009

コントローラの実装

今回は、「hello world!」だけを返すコントローラを作成します。

  1. 「DemoApplication.java」と同じフォルダに、「HelloController.java」を作成します。
    コントローラ001

  2. 「HelloController.java」には、以下のコードをコピペします。※パッケージ名は「DemoApplication.java」と合わせてください。

package xyz.one_cut._5.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

    @GetMapping("/")
    @ResponseBody
    public String hello() {
        return "hello World!";
    }
}

ビルド

warをビルドしていきます。

  1. VSCodeで、作成したプロジェクトフォルダを開きます。
    ビルド001

  2. 画面左の「Maven」タブを開き、「Lifecycle – clean」を実行。ターミナル状で、「BUILD SUCCESS」と表示されれば成功です。
    ビルド002
    ビルド003

  3. 同じ「Maven」タブから「Lifecycle – package」を実行。ターミナル状で、「BUILD SUCCESS」と表示されれば成功です。
    ビルド004

  4. 「target」フォルダを開くと、warファイルが作成されています。
    ビルド005

動作確認

作成したwarファイルをTomcat上で動かしてみます。

  1. Tomcatフォルダの「webapps」直下に作成したwarファイルを配置します。
  2. Tomcatフォルダの「bin/startup.bat」を起動します。
    起動001
  3. ブラウザから「http://localhost:8080/demo-0.0.1-SNAPSHOT/」にアクセスすると、「hello World!」が表示されます。※「demo-0.0.1-SNAPSHOT」部分は、warのファイル名に合わせます
    起動002
タイトルとURLをコピーしました