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

时间:2013-12-23 03:38:10

标签: scala playframework sbt playframework-2.2

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

1 个答案:

答案 0 :(得分:2)

默认播放使用sbt launcher使用的Scala,$PLAY_HOME/framework/sbt/play.boot.properties中配置了Scala。

您应该可以修改Scala的版本,Play正在使用(例如)将其添加到build.sbt。请务必在行play.Project.playScalaSettings之后添加,该行定义Play的默认设置。因此,如果您在scalaVersion := "2.10.3"的末尾添加build.sbt则应该有效。

例如,当您创建新的播放应用时,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