sbtからPlay Frameworkをインストールしようとして失敗した
とりあえずPlayが入ればいいやと次のようにしたんですが、依存性の解決に失敗しました。
/* project/plugins.sbt */ resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/maven-releases/" addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.10") /* project/build.properties */ sbt.version = 0.13.12 /* build.sbt */ scalaVersion := "2.11.8" lazy val main = (project in file("main")).enablePlugins(PlayScala)
[error] (main/*:update) sbt.ResolveException: unresolved dependency: com.typesafe.play#play-server_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-netty-server_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-logback_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-test_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-omnidoc_2.10;2.5.10: not found [error] (main/*:ssExtractDependencies) sbt.ResolveException: unresolved dependency: com.typesafe.play#play-server_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-netty-server_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-logback_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-test_2.10;2.5.10: not found [error] unresolved dependency: com.typesafe.play#play-omnidoc_2.10;2.5.10: not found
えぇ…、Scalaのバージョン2.10のライブラリ取ってこようとしてますね…。Scalaのバージョンは2.11指定してるのにーと思ったのですが、中でバージョン何見てるんだとsbt scalaVersionしてみると、
> sbt scalaVersion [info] main/*:scalaVersion [info] 2.10.6 [info] playroute25/*:scalaVersion // <- sbtプロジェクトのフォルダ名 [info] 2.11.8
ああそういう…。sbtの中でルートディレクトリのプロジェクトって絶対作られるんですね…。プロジェクト名ってフォルダ名が付くのか…。sbtのドキュメント見返すとちゃんと書いてありました。sbt Reference Manual — マルチプロジェクト・ビルド
バージョンはsettingsに指定すれば良いということですね。
/* builds.sbt */ lazy val main = (project in file("main")) .enablePlugins(PlayScala) .settings(scalaVersion := "2.11.8")
これでOKでした。