play framework 2.2.3 project 迁移到 2.3.0

这篇文章是关于怎样将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)
}
相关文章
相关标签/搜索