Spring Bootによるウェブアプリ開発: 起動方法(サービスの公開)

これまでアプリの開発における起動方法として、NetBeansのメニューから実行という方法を使ってきた。
この方法は開発時にはいいが、IDEのないPCにコピーしての実行や、サーバでの実行には向かない。

gradlewを使ってbootRunタスクを実行する。

これまでNetBeansからのGradleのタスクを実行してきたが、IDEを使わずにコマンドラインからも実行できる(というかこれが本来の使い方)。

ターミナル(コマンドプロンプト)で、プロジェクトのディレクトリをカレントディレクトリとし、

./gradlew bootRun

と実行する。gradlewに実行権限がなければ事前に「chmod +x gradlew」としておく。Windowsの場合は、

gradlew.bat bootRun

とする(未確認)。

FAT JARを作る。

クラスファイルやリソース等をJAR(Java Archive)という形式にまとめることができる。もともと、JARファイルは自分の作ったプログラムをまとめるもので、ライブラリ等は別に準備して実行する、という使い方が普通であった。最近は、依存するライブラリ(サーブレットコンテナ)等を全て含めて1つのJarファイルで実行ができるようにした「FAT JAR」を利用することも増えている。Spring BootではこのFAT JARも簡単に作ることができる。

./gradlew build

作られたJARファイルは、build/libに置かれる(例えば、webapp-0.0.1-SNAPSHOT.jar)。

これを実行するには、そのファイルを適当なディレクトリにコピーし、そのディレクトリをカレントディレクトリとして、次のように実行する。

java -jar webapp-0.0.1-SNAPSHOT.jar

Windowsならばダブルクリックで起動できる場合もある。しかし、標準出力に出力されるメッセージが読めないので、上記コマンドで実行するのがおすすめである。

FAT JARと同じところにstaticディレクトリをおけば、静的ファイルも扱うことができる。

作ったアプリは公開しよう

残念ながら、Javaで作ったアプリを公開できるサービスは少ない。レンタルサーバでは使えるのはPHPのみというサービスが多い。現実的には、VPSを借りJavaをインストールして実行する、ということになるだろう。

VPSを借りるという以外では、Javaが実行できるPaaSを使う方法がある(これも対応サービスは少ないが)。例えば、HEROKUならばDeploying Spring Boot Applications to Herokuというドキュメントも用意されている。条件によっては無料で使うこともできる。