我无法设置 Scala for Play 的默认版本



我无法为 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"
  )
}

我好像没用。然后我注释掉versionscalaVersion并创建了一个新文件:

//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

最新更新