0

これが Play への移行で遭遇する最後のエラーであることを願っています! 2.1.

すべてのコントローラーがコマンドを使用してエラーを返しますcompile

return ok(createOrUpdate.render(Secured.getConnectedUser(), getCustomers(), User.build(user)));

[error]   required: User,scala.collection.immutable.List<User>,User
[error]   found: User,java.util.List<User>,<null>

遊ぶ理由がわからない!2.1 では、Java API の代わりに Scala API を使用してほしい。

ここに私のbuild.scalaファイルがあります:

import sbt._
import Keys._
import PlayProject._

object ApplicationBuild extends Build {

    val appName         = "webapp-stativiz"
    val appVersion      = "1.0-SNAPSHOT"

    val appDependencies = Seq(
      javaCore,
      javaJdbc,
      javaEbean,
      "org.mongodb" % "mongo-java-driver" % "2.10.1",
      "pdf" % "pdf_2.9.1" % "0.3",
      "commons-io" % "commons-io" % "1.3.2",
      "commons-codec" % "commons-codec" % "1.7"
    )

    val main = play.Project(appName, appVersion, appDependencies, mainLang = JAVA).settings(
          resolvers += Resolver.url("My GitHub Play Repository", url("http://www.joergviola.de/releases/"))(Resolver.ivyStylePatterns) 
    )

}

編集 :

コマンドを使用するrunと、次の例外があります。

sbt.PlayExceptions$CompilationException: Compilation error[error: method render in class createOrUpdate cannot be applied to given types;]
        at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15$$anonfun$apply$16.apply(PlayReloader.scala:349) ~[na:na]
        at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15$$anonfun$apply$16.apply(PlayReloader.scala:349) ~[na:na]
        at scala.Option.map(Option.scala:133) ~[scala-library.jar:na]
        at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15.apply(PlayReloader.scala:349) ~[na:na]
        at sbt.PlayReloader$$anon$2$$anonfun$reload$2$$anonfun$apply$15.apply(PlayReloader.scala:346) ~[na:na]
        at scala.Option.map(Option.scala:133) ~[scala-library.jar:na]

解決 :

プロジェクトを削除します。新しいものを作成します。

4

3 に答える 3

1

scalaは、Javaリストからscalaリストへの型変換を処理する必要があります。だから私はあなたがタイプuserを期待するnullの代わりにリストタイプを見ているかもしれないと思います。以下のステートメントの最後のフィールドはnullを返しますか?

return ok(createOrUpdate.render(Secured.getConnectedUser(), getCustomers(), User.build(user)));

[error]   required: User,scala.collection.immutable.List<User>,User
[error]   found: User,java.util.List<User>,<null>
于 2013-03-18T12:10:09.330 に答える
1

mainLang = JAVAPlay では不要になりました。2.1: 依存関係java*は Play に十分です! 主なアプリケーション言語を特定します。

ファイルの残りの部分は正しいようです。動作させるために実行してみてくださいplay clean clean-all compile

于 2013-03-18T11:27:01.653 に答える
0

解決策は次のとおりです。

  1. 新しいプロジェクトを作成する
  2. ファイルを内部に配置します(アプリ、パブリック...フォルダー)
  3. 古いプロジェクトを削除する

それで...それは移行と呼ばれますか?遊ぶ!2.1は私が見た中で最悪のリリースです:(

于 2013-03-18T14:04:36.390 に答える