2012-05-24 61 views
11

如何在play 2.x.x中使用scala 2.10Mx?scala 2.10Mx with playframework 2

我试着在项目/ Build.scala中添加scalaVersion:=“2.10.0-M3”,但没有任何效果。

这里是我的项目/ Build.scala:

import sbt._ 
import Keys._ 
import PlayProject._ 

object ApplicationBuild extends Build { 

    val appName   = "dashboard-server" 
    val appVersion  = "1.0-SNAPSHOT" 

    resolvers += "Local Ivy Repository" at "file://"+Path.userHome.absolutePath+"/.ivy2/cache" 

    scalaVersion := "2.10.0-M3" 

    val appDependencies = Seq(
     "mysql" % "mysql-connector-java" % "5.1.10" 
    ) 

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
     // Add your own project settings here 

    ) 

} 

我使用SBT 0.11.3

+0

原则上,如果放置在正确的位置,应该工作。请显示完整的'Build.scala'。顺便说一下,您需要SBT 0.11.3才能使用Scala 2.10。 –

+3

在Play有基于Scala 2.10.x的版本之前,您不能一起使用Play + Scala 2.10.x。 Scala 2.9.x和2.10.x不是二进制兼容的。 – jsuereth

+1

斯卡拉的两位大师以不同的观点......谁是对的? – Edmondo1984

回答

2

play 2.0.x不支持Scala 2.10。 Play 2.1分支可以,但截至我写这篇文章的时候(2012年10月25日),您需要从源代码开发分支,开发分支仍在积极开发中。 TLDR:还不适合生产应用程序,给它几个月

0

嗯,实际上你可以做到这一点。我在我的回答中描述了细节here

但用几句话你就需要在Build.scala中指定几件事情。

通过将scalaVersion设置为2.10.1来切换版本并没有帮助我,因为SBT仍会进入存储库并获取2.10.0的块。所以我告诉SBT通过设置以下变量来使用Scala的本地副本

scalaVersion := "2.10.1-local", 
autoScalaLibrary := false, 
scalaHome := Some(file("/Program Files (x86)/scala/")) 
相关问题