我无法为 Play 应用程序设置 Scala 的版本:
//project/Build.scala
import sbt._
import play.Project._
import sbt.Keys._
object AppBuild extends Build {
val appName = .....
val appVersion = .....
val appDependencies = Seq(jdbc, anorm)
val main = play.Project(appName, appVersion, appDependencies)
lazy val buildSettings = Seq(
organization := "fdsfds"
,version := "1.0-SNAPSHOT123"
,scalaVersion := "2.10.3"
)
}
我好像没用。然后我注释掉version
和scalaVersion
并创建了一个新文件:
//project/build.sbt
version in ThisBuild := "0.1"
scalaVersion in ThisBuild := "2.10.3"
然而,当我说play
是回应时:
play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_25), http://www.playframework.com
[my_app] $ show scala-version
[info] 2.10.2
我正在使用sbt 0.13
并玩2.2.1
.我计算机上的默认(也是我猜的唯一)scala 版本是 2.10.3
.
如何使此应用程序默认使用 scala 2.10.3
?
默认情况下,Play 使用的是 sbt 启动器使用的 Scala,该启动器在 $PLAY_HOME/framework/sbt/play.boot.properties
中配置。
您应该能够通过(例如)将其添加到您的build.sbt
来修改 Play 正在使用的 Scala 版本。请务必将其添加到行 play.Project.playScalaSettings
之后,该行定义了 Play 的默认设置。因此,如果您在build.sbt
末尾添加scalaVersion := "2.10.3"
,它应该可以工作。
例如,当您创建新的播放应用程序时,您的build.sbt
应该或多或少地看起来像这样
name := "Example"
version := "1.0-SNAPSHOT"
libraryDependencies ++= Seq(
jdbc,
anorm,
cache
)
play.Project.playScalaSettings
scalaVersion := "2.10.3"
现在,如果您运行应用程序(或控制台),您将看到它使用的是正确的版本
Welcome to Scala version 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_45).
Type in expressions to have them evaluated.
Type :help for more information.
也show scala-version
应该返回正确的版本
[Example] $ show scala-version
[info] 2.10.3