{まあ、入れてみるか}
とやってみたら、以前のプロジェクト(Play2.2.x with Scala2.10.x)をアップグレードしようとした時いろいろややこしかったので、別のプロジェクトをやるときに絶対忘れそうなのでメモっておく。
まず、新しいPlayとScalaを公式ページでdownloadしようとすると、activatorなるものをインストールするように誘導された。
{activatorってなんじゃい}
完全に浦島太郎状態。どうやら、Scala, Play, Akkaやらサンプルやらwebエディターやらwebデバッガーやらセットになっていて、これ入れれば全部OKみたいなものらしい。
しかもplayコマンドとかsbtコマンドとか、全部 activator コマンドでやれということらしい。
で、activatorインストール後、今までのPlayのprojectフォルダに行って、
activator compileとかいきなりやったけど、エラーの山。
{ま、そりゃそうだよな。しかたないか。}
なので、projectのファイルを色々変更した。
まず、project/plugin.sbt のplayのバージョンを以下のように変更
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.1")次に、project/build.propertiesのsbtバージョンを以下のように変更
sbt.version=0.13.5そんで、project/Build.scalaをこのサイトのSbt sampleを参考にこんな感じ変えてみた。
import sbt._ import Keys._ object ApplicationBuild extends Build { val appName = "xxxxx" val appVersion = "1.0-SNAPSHOT" val main = Project(appName, file(".")).enablePlugins(play.PlayScala).settings( version := appVersion, scalaVersion := "2.11.1", libraryDependencies := { CrossVersion.partialVersion(scalaVersion.value) match { // if scala 2.11+ is used, add dependency on scala-xml module case Some((2, scalaMajor)) if scalaMajor >= 11 => libraryDependencies.value ++ Seq( "org.scala-lang.modules" %% "scala-xml" % "1.0.1", "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.1", "org.scala-lang.modules" %% "scala-swing" % "1.0.1", "com.github.scala-incubator.io" %% "scala-io-file" % "0.4.3-1") case _ => // or just libraryDependencies.value if you don't depend on scala-swing libraryDependencies.value :+ "org.scala-lang" % "scala-swing" % scalaVersion.value } }, scalacOptions += "-feature" ) }参考ページのコードに追加したのは、scalaxのscala-io-fileの部分、モジュール名とかバージョンとかわからなかったけど、MVNRepositorysというサイトから持ってきた。このサイトは知らなかったけど、こういうときはメチャメチャ便利なところ。
これでとりあえず動くようになった。
0 件のコメント :
コメントを投稿