1

從播放2.0.4遷移到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"))) 

在HTML模板對應的線路

@(contentForm: Form[contents.Entry], entries: Array[contents.Entry], streamDisplayOptions: Map[String,String]) 

我只是通過表格...

我讀http://www.playframework.com/documentation/2.1.0/Migration 但我仍然不知道如何解決它。

回答

6

在遷移過程中,它看起來像是Java和Scala的混合體。

play.api.data.Form[contents.Entry]用於Scala。

play.data.Form[contents.Entry]用於Java。

如果按照migration guide,那麼你可能這樣做:

val appDependencies = Seq(
    javaCore, javaJdbc, javaEbean 
) 

但因爲你有一個Scala的項目,那麼你也應該看過後,該段:

The mainLang parameter for the project is not required anymore. The main language is determined based on the dependencies added to the project. If dependencies contains javaCore then the language is set to JAVA otherwise SCALA. Notice the modularized dependencies in the appDependencies section.

這意味着,您的appDependencies應該看起來像這樣:

val appDependencies = Seq(
    jdbc 
) 
+0

謝謝,那是t他的理由。我期望Play現在主要是Scala,以便這些誤導性的文檔不會再出現......很高興知道 – ideaboxer