play framework 2.2.3 project 遷移到 2.3.0

這篇文章是關於怎樣將play 2.2.3的工程遷移到play 2.3.0

1、安裝sbt 0.13.5,去官網下載sbt 0.13.5: http://www.scala-sbt.org/download.html,安裝完之後,

修改工程下的project/build.properties文件。

修改sbt版本:   

sbt.version=0.13.5


2、升級scala到2.11.1(可選),由於play 2.3 同時支持 scala 2.10 和 scala 2.11所以,可以不用升級到2.11,

但是你用什麼版本的scala需要顯式聲明。修改build.sbt文件,增加一行:

            scalaVersion := "2.11.1",

如果你用的是2.10.4 就填對應的版本號。


3、修改插件版本,修改project/plugins.sbt文件:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.XXX")

xxx是當前的play 版本,當前最新的是2.3.0。


4、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(

//...

}


5、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)
}



發佈了3 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章