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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏zhangdd.com

centos7系统ceph-dash安装部署

简介: ceph-dash 是用 Python 开发的一个 Ceph 的监控面板,用来监控 Ceph 的运行状态。同时提供 REST API 来访问状态数据。

811
来自专栏Brian

Install Django Nginx uWSGI

概述 最近项目需要安装和配置多站点环境,所以把多站点开发环境配置和安装记录下来,帮助其他人少走坑。 安装Python 2.7.x 首先安装一些开发环境基本的包和...

4019
来自专栏破晓之歌

在PythonAnyWhere上部署Django项目

在PAW(PythonAnyWhere)上创建免费beginner账户,网址为: https://www.pythonanywhere.com/pricing...

1562
来自专栏Hongten

java开发_eclipse导出为war文件,热部署到tomcat运行总结

下载项目地址:http://files.cnblogs.com/hongten/eclipse4war.rar

5582
来自专栏静默虚空的博客

Maven入门教程

概念 Maven是什么 Maven 是一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西。 版本 maven有自己的版本定义和规则 构建 maven支持...

27810
来自专栏数据派THU

收藏 | Linux常用156个命令汇总!

来源:机器学习算法与Python学习 本文为大家带来Linux系统中156个常用的命令。 linux命令是对Linux系统进行管理的命令。对于Linux系统来说...

51612
来自专栏Spark学习技巧

kafka管理神器-kafkamanager

https://github.com/yahoo/kafka-manager/releases

2922
来自专栏张泽旭的专栏

【腾讯云的1001种玩法】hadoop 伪分布式搭建

Hadoop实现了一个分布式文件系统(简称HDFS)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high...

1.7K0
来自专栏狂码一生

Linux服务器下搭建Apache+MySql+PHP+phpMyAdmin运行环境

一、安装Apache   1、检查系统是否安装Apache   rpm -qa | grep httpd   2、安装   yum -y install htt...

5609
来自专栏owent

LLVM+Clang+Libcxx+Libcxxabi(3.6)工具链编译(完成自举编译)

LLVM和Clang工具链的生成配置文件写得比较搓,所以略微麻烦,另外这个脚本没有经过多环境测试,不保证在其他Linux发行版里正常使用。

1511

扫码关注云+社区

领取腾讯云代金券