読者です 読者をやめる 読者になる 読者になる

Play Frameworkのバージョンアップ(2.0.4→2.1.1)

ruby

Play Frameworkですが、速いものでもう2.1.1が最新となっています。2.0.4から2.1.1への変更点はいろいろありますが、主にscala 2.10への対応でしょう。

ということで、個人的にもそろそろscala 2.10 & play 2.1 への移行を行いたいと思っていたので少し試してみました。

brew を使用してscalaとplayをアップデートします。

こちらですが、macを利用していることとHomeBrewを使用していることを前提にします。といっても、scalaとplayのバージョンを最新にするだけです。

[bash] $brew info scala [/bash]

の結果が最新のバージョンでない場合はアップデートをします。

[bash] $brew upgrade scala [/bash]

もちろんインストールされていない場合はインストールを行います。playも同様なので省略します。

プロジェクトの各ファイルを修正します。

バージョンアップに伴う名前空間の変更で幾つか修正する箇所が発生します。私が変更したファイルは以下の通りです。

  1. Build.scala
  2. plugins.sbt
  3. build.properties

修正内容についてはこちらを参考にしました。とても参考になりました。ありがとうございます。

Play!framework2.0.xから2.1へ移行する時にやったこと - 新しいフォルダ (2)

IntelliJの設定を変更します。

ここがよくわからず躓きました。やらなきゃいけないことは単純で、1.scalaのバージョン変更と2.古いライブラリの削除になります。ところが、1.scalaのバージョン変更で compiler library の設定がわからずネットの海をさまようことになったのです。

調べればたいていのことは回答は Stack Overflow に出ているものでこちらを参考にさせていただきました。

compiler library については、module設定のGlobal Libraryに以下の3つを含めたライブラリを作成すればよいとのことでした。

  1. scala-compiler.jar
  2. scala-library.jar
  3. scala-reflect.jar for 2.10

Home Brewを使用している場合、これらのファイルは

[bash] /usr/local/Cellar/scala/2.10.1/libexec/lib/ [/bash]

に保存されているので以下の通り追加します。

global module 設定

また、scalaのバージョン変更に伴いsbtの修正も必要となることがあります。こちらは IntelliJ IDEA -> Settings -> SBT と進んで IDE Settings を修正します。

sbt設定

このあと、 play idea を実行してsbtを起動すれば最新のライブラリが読み込まれます。

コンパイルしてエラーとなった箇所を確認し修正します。

ここまで来ればあとはせっせとコンパイルエラーを直していくだけでOKです。

とまぁ、備忘録的に書きましたが思った以上にすんなりとバージョンアップはできた感じがします。play frameworkを初めて触ったが昨年の6月でしたが、もうメジャーバージョンアップが実施されたわけですよね。何とも速いものです。