Play! frameworkを空の状態から一つずつファイル・設定を追加していってPlayを動かしてみます。Play! frameworkをインストールしていなくても良いですが、sbtはインストールする必要があります。
一番シンプルなPlay
project/plugins.sbtとbuild.sbtを設定する必要があります。
$ mkdir project
$ vi project/plugins.sbt
// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.1")
$ vi build.sbt
play.Project.playScalaSettings
これらを二つの.sbtファイルを設定することで、Play!が依存するライブラリを含めてローディングができるようになり、playの環境を実行できるようになります。
$ sbt play
これを実行すると、いつものPlayのプロンプトが出てくるはずです。
注意: sbtとplayのバージョンの組み合わせには動くモノと動かないモノがあるはずです
ルーティング
さて、この状態でsbt play runすると、localhostの9000番ポートでPlayアプリケーションが待ち受けるのですが、アクセスしてみると、No router defined.と表示されてしまいます。ルーティング設定がされてないためです。
$ mkdir conf
$ vi conf/routes
GET / controllers.Application.index
Play の標準的なルーティング設定ですね。これを実行すると今度はobject Application is not a member of package controllersと怒られるようになるので、controllersパッケージにApplicationオブジェクトを作成してindexメソッドを用意します。
$ vi hello.scala
package controllers
import play.api._
import play.api.mvc._
object Application extends Controller {
def index = Action {
Ok("Hello, World.")
}
}
これで、無事Hello, World.がブラウザに表示されたはずです。
まとめ
いつもはplay new コマンドを使ってPlayアプリケーションを書き始めていたんですが、たったこれだけでPlayアプリが書けるとわかったので、たとえば非Playアプリケーションとして作り始めていたものを、やっぱりPlayで作り直すかと思った時(ライブラリ機能とかも考えるとそうそうないとは思うが…)にも、Play の設定を追加するのは簡単!かもしれません。