【问题标题】:Migration from Play framework 2.0.4 to 2.2.0从 Play 框架 2.0.4 迁移到 2.2.0
【发布时间】:2013-10-21 07:38:56
【问题描述】:

我有一个基于 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")

然后我试图“使我的项目黯然失色”。所以我运行这两个命令:

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

所以该项目没有“被删除”,我不能使用它,也不能在我的 Eclipse IDE 中进行编辑。这种在 Eclipse IDE 之外的背景上编译真的很痛苦,并且使我无法使用 Play 框架进行生产:-/

【问题讨论】:

  • 您是否考虑将所有导入从 org.codehaus.jackson 更改为 com.fasterxml.jackson.core
  • 好吧,由于新的 2.2.0 api,我的整个应用程序有大约 50 个错误。我想在类路径上创建包含所有引用库的 Eclipse 项目,这样我就可以在 Eclipse IDE 中修复这些错误,而不是在文本编辑器中一一修复。

标签: eclipse playframework playframework-2.0


【解决方案1】:

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

【讨论】:

  • 这是最简单的解决方案。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2013-11-05
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多