カテゴリ: Play Framework 更新日: 2025/12/04

sbtでPlay Frameworkプロジェクトをビルド・実行する方法を初心者向け解説

sbtでプロジェクトをビルド・実行する方法
sbtでプロジェクトをビルド・実行する方法

先生と生徒の会話形式で理解しよう

生徒

「Play Frameworkのサンプルプロジェクトをダウンロードしたのですが、次はどうすればいいですか?」

先生

「まずはsbtというツールを使ってプロジェクトをビルドして、アプリを起動する必要があります。」

生徒

「sbtを使うと何ができるんですか?」

先生

「sbtはPlay FrameworkやScalaのプロジェクトを自動でビルドしたり、必要なライブラリをダウンロードしたり、アプリを起動できるツールです。つまり、手作業を大幅に減らしてくれる便利な道具です。」

生徒

「具体的な手順を教えてください。」

先生

「それでは順を追って説明します!」

1. sbtを使ってプロジェクトをビルドする準備

1. sbtを使ってプロジェクトをビルドする準備
1. sbtを使ってプロジェクトをビルドする準備

Play Framework を動かすためには、まず開発の土台となる sbt が正しくインストールされている必要があります。 sbt は「プロジェクトのビルド・依存関係の取得・アプリの起動」などをまとめて行ってくれる便利なツールで、 これがないと Play のプロジェクトは動かせません。 そのため、最初のステップとして sbt が使える状態になっているか確認することがとても重要です。

まずは、以下のコマンドをターミナル(コマンドプロンプト)に入力して、 ちゃんと sbt のバージョンが表示されるか確認しましょう。


sbt sbtVersion

ここでバージョン番号が表示されれば準備は完了です。 もし「コマンドが見つかりません」といったエラーが出る場合は、 まだ sbt がインストールされていない、または PATH の設定が通っていない可能性があります。 その場合は sbt 公式サイトから最新版をダウンロードしてインストールしておきましょう。

初心者向け:sbtが使えるかどうかを確認するシンプル例

下記は sbt が正しく動いているときの表示イメージです。 実際の数字は環境によって異なりますが、バージョンが表示されれば OK です。 この確認ができれば、Play Framework のビルド作業にスムーズに進めます。


> sbt sbtVersion
[info] welcome to sbt!
[info] sbt version in this project: 1.9.7
[info] sbt version in global scope: 1.9.7

もし何かエラーが出ても慌てる必要はありません。 sbt の再インストールやパス設定の見直しで解決することがほとんどです。 開発を始める前の基本チェックなので、ゆっくり確実に進めていきましょう。

2. プロジェクトディレクトリに移動

2. プロジェクトディレクトリに移動
2. プロジェクトディレクトリに移動

次に、Play Frameworkのプロジェクトディレクトリに移動します。公式サンプルの場合は、以下のようにします。


cd play-samples/play-java-hello-world

ここで、sbtを使ってビルドや実行ができる準備が整いました。

3. プロジェクトをビルドする方法

3. プロジェクトをビルドする方法
3. プロジェクトをビルドする方法

プロジェクトをビルドするとは、コードをコンパイルして実行可能な状態にすることです。sbtでは次のコマンドを入力します。


sbt compile

コンパイルが成功すると、依存関係も解決され、コードが正しくビルドされたことを確認できます。

4. アプリケーションを実行する方法

4. アプリケーションを実行する方法
4. アプリケーションを実行する方法

ビルドが終わったら、次はアプリケーションを起動します。sbtで次のコマンドを入力します。


sbt run

このコマンドを実行すると、Play Frameworkのサーバーが起動し、コンソールに「Server started at http://localhost:9000」と表示されます。これでブラウザからアプリにアクセスできます。

5. ブラウザで動作確認

5. ブラウザで動作確認
5. ブラウザで動作確認

サーバーが起動したら、ブラウザで http://localhost:9000 にアクセスします。公式サンプルの「Hello World」が表示されれば、無事に実行できています。

6. sbtの便利なコマンド

6. sbtの便利なコマンド
6. sbtの便利なコマンド

sbtには開発を効率化する便利なコマンドがあります。

  • compile : プロジェクトをコンパイルしてビルド
  • run : アプリケーションを起動
  • test : ユニットテストを実行
  • clean : ビルドの成果物を削除して再ビルド準備

これらを覚えておくと、Play Frameworkの開発がスムーズになります。

7. よくあるトラブルと対処方法

7. よくあるトラブルと対処方法
7. よくあるトラブルと対処方法

sbtでプロジェクトをビルド・実行する際によくあるトラブルと対処法です。

  • Javaのバージョンが古い → JDK 11以上をインストール
  • ポート9000が使用中 → sbt run時に別ポート指定 sbt "run 9001"
  • 依存ライブラリが取得できない → ネットワーク環境を確認し再実行
  • コンパイルエラーが出る → コードを見直し、必要なら clean して再ビルド

8. sbtを活用して効率よく開発する

8. sbtを活用して効率よく開発する
8. sbtを活用して効率よく開発する

公式サンプルを動かした後は、sbtの機能を活用して効率よく開発できます。自動コンパイルやホットリロード機能を使えば、コードを変更するたびにサーバーを再起動する必要がなく、ブラウザで即座に確認できます。これにより、Play FrameworkでのWebアプリ開発をスムーズに進めることができます。

まとめ

まとめ
まとめ

今回の記事では、Play Frameworkのプロジェクトをsbtでビルドして実行する一連の流れを初心者向けに整理しながら学びました。とくにsbtというツールがどのようにPlay Frameworkの基盤を支え、ビルドや依存関係の解決、アプリケーションの起動などを自動化してくれるのかを理解することで、Webアプリケーション開発に必要な基礎操作が自然に身についていきます。

sbtの基本的なコマンドであるcompileruntestcleanを覚えれば、Play Frameworkの開発効率は一段と向上します。初心者にとって難しく感じる部分も、コマンドを順に実行しながら確かめることで少しずつ理解できるようになります。また、sbtが依存ライブラリを自動で取得してくれるため、煩雑な設定を意識せずに開発を進められるのも大きな魅力です。

さらに、プロジェクトディレクトリへ移動してからビルドし、実行後にブラウザから http://localhost:9000 にアクセスする流れを体験することで、Play Frameworkの仕組みが一気に分かりやすくなります。実際に画面が表示されることで、コードがどのように動作しているのかが目に見えて理解でき、初心者でも安心して開発を続けられるようになります。

この記事の内容をもとに、自分の環境で試しながら学習を進めれば、sbtとPlay Frameworkの連携は確実に身につきます。ここでは、振り返りとしてサンプルコマンドや簡単なコントローラのコード例を再掲し、初心者がつまずきやすい点を整理します。

Play Frameworkを起動するサンプルコマンド


# sbtのバージョンを確認
sbt sbtVersion

# プロジェクトのコンパイル
sbt compile

# アプリケーションを起動
sbt run

簡単なコントローラのサンプルコード


package controllers

import javax.inject._
import play.api.mvc._

@Singleton
class SampleController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {

    def hello() = Action { implicit request: Request[AnyContent] =>
        Ok("sbtで起動したPlay Frameworkアプリからのメッセージです")
    }
}

ルーティング設定も一緒に確認


GET     /hello          controllers.SampleController.hello

上記のように、コントローラとルーティングを追加するだけで、sbtでビルドしたアプリから任意のメッセージを表示できます。この仕組みを理解すれば、画面を増やしたり、新しい処理を追加したりといった応用もスムーズに進められるようになります。自動コンパイルやホットリロード機能も活かすことで、再起動の手間を省きながら効率よく開発できる点も魅力です。

また、よくあるトラブルとして挙げたJavaバージョンの不一致や依存関係エラー、ポートの競合などに注意しながら作業することで、より安定して開発が行えます。sbtは強力なツールですが、正しく扱えば初心者の強い味方になります。今回学んだ知識を積み重ねていけば、Play FrameworkでのWebアプリケーション開発の土台がしっかり築かれるはずです。

先生と生徒の振り返り会話

生徒

「先生、今日の流れでsbtがどういう役割を果たしているのかがよくわかりました!」

先生

「それは良いですね。ビルドや実行を自動化してくれるので、Play Frameworkでは欠かせないツールですよ。」

生徒

「compileとrunの違いも理解できましたし、ブラウザで画面が表示されるまでの流れがつながりました!」

先生

「その感覚はとても大事です。流れをつかんでおけば、次にアクションやビューを追加する時も迷わず進めますよ。」

生徒

「トラブル対処のところも役に立ちました。ポート競合とか実際に起こりそうなので覚えておきます。」

先生

「良い心がけですね。今回学んだことを基礎として、Play Frameworkをもっと活用していきましょう。」

カテゴリの一覧へ
新着記事
New1
Play Framework
Play Frameworkでフォームデータをコントローラで扱う方法を完全解説|Java初心者向けコントローラ入門
New2
Jakarta EE
Jakarta EE JSPにおけるJSTLとスクリプトレットの違いと使い分けを初心者向けに徹底解説
New3
Play Framework
Play Frameworkでクエリパラメータをコントローラで処理する方法を完全解説|Java初心者向け入門
New4
Play Framework
Play FrameworkとSpring Bootの違いを徹底比較!初心者でもわかるJavaフレームワーク入門
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta EEのリリースサイクルとバージョンの進化をやさしく解説!
No.2
Java&Spring記事人気No2
Jakarta EE
Jakarta サーブレットのHttpServletRequestを徹底解説!初心者でもわかる基本操作と使い方
No.3
Java&Spring記事人気No3
Jakarta EE
Jakarta EEとSpringの比較|どちらを選ぶべきか?初心者向けに徹底解説!
No.4
Java&Spring記事人気No4
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識
No.5
Java&Spring記事人気No5
Jakarta EE
Jakarta EE JSPにおけるJSTL国際化タグ(fmt:message)の使い方を初心者向けに完全解説
No.6
Java&Spring記事人気No6
Jakarta EE
Jakarta EE JSPでJSTL SQLタグを使った簡易データベースアクセスをやさしく解説
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EE JSPでJSTLを使ったJSONやREST APIレスポンス処理を初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Play Framework
Play Frameworkでリクエストデータの受け取り方を完全解説|Java初心者向けコントローラ入門