2012-05-24 118 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/")) 
相關問題