我在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框架: - /
答案 0 :(得分:1)
您可以删除所有源代码文件,生成IDE文件,然后从版本控制中恢复源代码。
答案 1 :(得分:0)
遗憾的是,这是eclipse(和idea)插件的工作原理,你必须先有一个工作项目才能将项目从SBT重新导出到eclipse。所以你只需要在没有eclipse通常支持的情况下解决编译错误。