はじめに
ちょっとJavaのライブラリをWebService化したいと思ってせっかくなので PlayFramework2(以下、play2)をやってみようと思いました。
ただ、play2を始めるまでに、sbtとか色々準備しなきゃなのかなーと思っていたら、良い意味で裏切られまして、異様に簡単でした。
最初のDownloadの時間とかはそこそこかかりますが、作業自体は非常に少なくて済みます。
Typesafe Activator というのがとにかくすごかったです。
事前準備
以下のものが既に入っているとします。
- JDK1.6 or 1.7
- heroku toolbelt
- herokuにアカウント(すぐに作れます)
Versionなど
今回試した環境のVersionです。
- MacOSX: 10.9.2
- Typesafe Activator: 1.0.13
- play 2.2.1 built with Scala 2.10.2
- JDK1.7: build 1.7.0_51-b13
- heroku: heroku-gem/2.20.1
手順
Typesafe Activator で play2の雛形を作る
Step1
http://www.playframework.com/download の左側に Download Activator 1.0.13 (256MB)
等とある部分からZIPファイルをDownloadして、適当なDirに展開します。
Step2
その中にある activator
というファイルを実行します。
しばらくすると、勝手にブラウザに
という画面が表示されます。
step3
この中の
の部分で、下のリストから 「Hello Play Framework!
」 というのを選んで、下の「CREATE
」ボタンを押します。
step4
というような画面が表示されます。
これでRun the app
とかするとまず、Local環境でplayのhello world的なものが実行できてしまいます。
単体テストやソースコードの編集もWebブラウザからできます。
IDEAやEclipseのProjectファイルもWebブラウザでボタンを押せば作成されます。
げに恐ろしい話です。
HerokuのApp用の設定をする
HerokuのDocument自体少し古い気がするので、必要のない作業もあるかもしれませんが、今回は下記の手順でOKでした。
まず、先ほどProjectを作ったDirに行きます。
Procfileの作成
web: target/universal/stage/bin/hello-play -Dhttp.port=$PORT
hello-play
の部分は Project名になるそうです。
参考: http://qiita.com/kazumax1027/items/9c8f6bee723eee598c55
conf/dependencies.yml
# Application dependencies
require:
- play 2.2.1
system.properties
これはJava1.7を使うときのみ必要です。(そうでなければjava1.6になります)
java.runtime.version=1.7
HeorkuにPushする
Project作成
heroku login
heroku create
Push
git init
git add .
git commit -m init
git push heroku master
Webサイト確認
下記のコマンドでブラウザでPushしたサイトが開きます。
heroku open
これは便利ですねー
余談
ちなみにですが、playのconsoleなどには下記のコマンドで入れます。
./activator play