{まあ、入れてみるか}
とやってみたら、以前のプロジェクト(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 件のコメント :
コメントを投稿