从Play framework 2.0.4迁移到2.2.0

时间:2013-10-13 17:57:37

标签: eclipse playframework playframework-2.0

我在Play框架2.0.4之上构建了一个应用程序。我想将它迁移到最新版本(目前是2.2.0)。

所以我已经更新了我的本地Play框架安装,相应的所有构建文件:

build.properties

sbt.version=0.13.0

Build.scala

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

    val appName         = "demagog"
    val appVersion      = "1.0.0"

    val appDependencies = Seq(
        javaCore,
        "com.google.code.morphia" % "morphia" % "0.99",
        "com.google.code.morphia" % "morphia-logging-slf4j" % "0.99",
        "net.tanesha.recaptcha4j" % "recaptcha4j" % "0.0.7"
    )

    val main = play.Project(appName, appVersion, appDependencies).settings(
        // Add your own project settings here     

        resolvers += "Morphia repository" at "http://morphia.googlecode.com/svn/mavenrepo/"
    )

}

plugins.sbt

// Comment to get more information during initialization
logLevel := Level.Warn

// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.0")

然后我试图“eclipsify”我的项目。所以我正好运行这两个命令:

play clean-all
play eclipse

我收到很多错误,如:

[error] ..\Api.java:11: error: package org.codehaus.jackson does not exist
import org.codehaus.jackson.JsonNode;

这是由于我在Migration guide中找到的事实所预期的:

  

我们已将Jackson升级到版本2,这意味着软件包名称现在是com.fasterxml.jackson.core而不是org.codehaus.jackson。

但是在“play eclipse”命令结束时我收到了这个错误:

[error] (compile:compile) javac returned nonzero exit code
[error] Could not create Eclipse project files:
[error] Error evaluating task 'dependencyClasspath': error

所以项目不是“eclipsified”,我不能在Eclipse IDE中使用它或编辑。在Eclipse IDE之外的backgroung上进行编译非常痛苦并且使我无法使用Play框架: - /

2 个答案:

答案 0 :(得分:1)

您可以删除所有源代码文件,生成IDE文件,然后从版本控制中恢复源代码。

答案 1 :(得分:0)

遗憾的是,这是eclipse(和idea)插件的工作原理,你必须先有一个工作项目才能将项目从SBT重新导出到eclipse。所以你只需要在没有eclipse通常支持的情况下解决编译错误。