這篇文章是關於怎樣將play 2.2.3的工程遷移到play 2.3.0html
一、安裝sbt 0.13.5,去官網下載sbt 0.13.5: http://www.scala-sbt.org/download.html,安裝完以後,java
修改工程下的project/build.properties文件。async
修改sbt版本: ui
sbt.version=0.13.5
二、升級scala到2.11.1(可選),因爲play 2.3 同時支持 scala 2.10 和 scala 2.11因此,能夠不用升級到2.11,spa
可是你用什麼版本的scala須要顯式聲明。修改build.sbt文件,增長一行:插件
scalaVersion := "2.11.1",scala
若是你用的是2.10.4 就填對應的版本號。code
三、修改插件版本,修改project/plugins.sbt文件:orm
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.XXX")
xxx是當前的play 版本,當前最新的是2.3.0。htm
四、sbt 0.13.5加入了一個新的特性"auto plugin",具體的能夠看官網的介紹,
所以帶來的變化是須要在build.sbt,加入一行:
lazy val root = (project in file(".")).enablePlugins(PlayScala)
若是你的工程是java,則加入:
lazy val root = (project in file(".")).enablePlugins(PlayJava)
因此build.sbt修改爲以下形式:
name := "your project name"
version := "1.0.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
//...
}
五、play 2.3使用activator命令而不是play命令來啓動,可是運行命令仍是沒有變得。而後基本上就能夠了。
而後最好不要跳級來遷移,就是不要從2.1直接升級到2.3由於2.1中的一些特性在2.3中被移除了,因此首先
升級到2.2看看有提示什麼是廢棄的特性,而後修改好,接着再升級到2.3。
好比 :
def asyncAction = Action { Async { Future(someExpensiveComputation) }}
上面的這個方式在2.2中是建議改爲下面這種使用方式,而在2.3中被移除了。
def asyncAction = Action.async { Future(someExpensiveComputation) }