3

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

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

build.properties

sbt.version=0.13.0

构建.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/"
    )

}

插件.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;

由于我在迁移指南中发现的事实,这是预期的:

我们已将 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 框架进行生产:-/

4

2 回答 2

1

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

于 2013-10-14T18:26:14.267 回答
0

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

于 2013-10-14T08:45:00.850 回答