玩框架迁移错误

ide*_*xer 1 migration playframework playframework-2.0 playframework-2.1

从Play 2.0.4迁移到Play 2.1.1后,我收到以下错误:

[error] /home/xxx/project/app/controllers/Application.scala:489: type mismatch;
[error]  found   : play.api.data.Form[contents.Entry]
[error]  required: play.data.Form[contents.Entry]
[error]     Ok(views.html.shareKnowledge(contentForm, loadEntries(Option(request.user.id), Option(request.user.id), None, None), Map("deleteButton"->"show")))
Run Code Online (Sandbox Code Playgroud)

HTML模板中的相应行是

@(contentForm: Form[contents.Entry], entries: Array[contents.Entry], streamDisplayOptions: Map[String,String])
Run Code Online (Sandbox Code Playgroud)

我只是传了一张表格......

我阅读http://www.playframework.com/documentation/2.1.0/Migration 但我仍然不知道如何解决它.

mab*_*aba 6

在迁移过程中看起来似乎是Java和Scala的混合体.

play.api.data.Form[contents.Entry] 用于Scala.

play.data.Form[contents.Entry] 用于Java.

如果您按照迁移指南进行操作,那么您可能会这样做:

val appDependencies = Seq(
   javaCore, javaJdbc, javaEbean
)
Run Code Online (Sandbox Code Playgroud)

但是既然你有一个Scala项目,那么你应该在那之后阅读该段落:

不再需要项目的mainLang参数.主要语言是根据添加到项目的依赖项确定的.如果依赖项包含javaCore,则语言设置为JAVA,否则设置为SCALA.请注意appDependencies部分中的模块化依赖.

这意味着你appDependencies应该看起来像这样:

val appDependencies = Seq(
   jdbc
)
Run Code Online (Sandbox Code Playgroud)