Top > Scala Scala
Play 2.4.4 scala 2.11.6 InstallMac OS X & Homebrewplay frameworkは以下のコマンド一発で入る。便利。 $ brew install typesafe-activator
LinuxWIP create new project$ activator new (projectname) `Fetching the latest list of templates... Browse the list of templates: http://typesafe.com/activator/templates Choose from these featured templates or enter a template name: 1) minimal-akka-java-seed 2) minimal-akka-scala-seed 3) minimal-java 4) minimal-scala 5) play-java 6) play-scala (hit tab to see a list of all templates) > 6 OK, application "(projectname)" is being created using the "play-scala" template. (projectname)のところで指定したディレクトリが作成される。 デバッグ実行作成されたディレクトリでおもむろに立ち上げてみる。 $ activator run http://localhost:9000/ にアクセスするとコンパイルがはじまり、終わると「Welcome to play」のサンプルページが現れる。activator runは立ち上げたまま次のステップへ進んで良い(この状態では、ファイルが更新されたら自動で再コンパイルが走る)。 Hello Worldhttp://qiita.com/kukita/items/6326f1439abec013a479 ここの手順 1-9(Applicaton.scala編集)を行い、(activator runしたままの状態で)ブラウザをリロードすると再コンパイルが始まって"Hello, World."という文字列が表示される。 ポート番号変更デフォルトではポート番号9000だが、複数立ち上げる場合等でポート番号を変更したい場合は以下のようにする。 $ activator "run 19000" テスト実行activator runに比べてメモリ消費量が小さい。 $ activator "testProd 19000" This application is already running (Or delete /path/to/project_dir/target/universal/stage/RUNNING_PID file). というメッセージが表示されてバックグラウンドで実行されるようになる。 ※activator startコマンドは非推奨になったみたい。 以下の方法でも実行可能な模様。 $ ./target/universal/stage/bin/(projectname) -Dhttp.port=19000 この場合はフォアグラウンドで実行される。もしこのコマンドで起動しなかった場合(already running)と言われた場合は、既に起動済でないか確認した上でRUNNING_PIDファイルを消し、再度実行すること。 DBとの接続とりあえずbuild.sbtをいじる。Play framework標準となったslickを使うか、mysql-connector-javaを使うか。 mysql-connector-java の場合
※ケツカンマに気をつけろ!!!!! 参考資料PlayFramework - (60分クッキング) Play Framework (Scala)+MySQLでREST APIサーバーを作る - QiitaScala+Play 2.0でWebアプリ開発入門(7):Play 2.xからMySQLに接続してAnormでCRUD操作するには (1/3) - @ITPlay 2.4 Hands on感想
[error] [/Users/karia/source/karia/scala-play-sample/build.sbt]:16: ')' expected but string literal found. Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
[info] Compiling 7 Scala sources and 1 Java source to /Users/karia/source/karia/scala-play-sample/target/scala-2.11/classes... [info] 'compiler-interface' not yet compiled for Scala 2.11.6. Compiling... [info] Compilation completed in 14.1 s Warning: node.js detection failed, sbt will use the Rhino based Trireme JavaScript engine instead to run JavaScript assets compilation, which in some cases may be orders of magnitude slower than using node.js. [info] - play.api.Play - Application started (Dev) 導入部分はわかりやすかったけど、DBまわりが若干不親切な印象。 |