在尝试将一个项目从播放版本2.0.4迁移到2.1.0时,我遇到了这个错误:
type mismatch found: play.api.data.Form[...]
required: play.data.Form[...]
所有类型的Form [...]的所有控制器中的。在控制器中它看起来像这样:
import play.api._
import data.Form
import data.Forms._
val someform = Form(
tuple(
"name" -> text,
"email" -> text
)
)
视图开头如下:
@(form : Form[...])
所有这些都会引发上述错误,但仅限于使用2.0.4版创建的项目,然后迁移到2.1.0。 随着项目从头开始创建2.1.0所有这一切都像魅力。为什么会这样? 此外,如果我在(迁移项目的)视图中指定完全限定名称,如:
@(form : play.api.data.Form[...]) it works fine....
答案 0 :(得分:1)
您必须从javaCore
中的appDependencies中删除Build.scala
。否则Play会将您的项目视为 Java 项目,这意味着您的模板需要Java API,而不是play.data.Form
中的Scala API {/ 1}}。{/ 1>
请注意,此行为与2.0.x不同,您可以在没有问题的情况下混合使用Java和Scala。