我希望这是我在迁移到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希望我使用scala api而不是java 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]
解决方案:
删除您的项目。创建一个新的。
答案 0 :(得分:1)
mainLang = JAVA
! 2.1:依赖java*
足以让Play玩!识别您的主要应用程序语言。
你文件的其余部分似乎是正确的。尝试运行play clean clean-all compile
以使其正常工作。
答案 1 :(得分:1)
scala应该处理从java列表到scala列表的类型转换。 所以我认为您可能正在查看列表类型而不是null类型user。 以下语句中的最后一个字段是否返回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>
答案 2 :(得分:0)
解决方案是:
所以......那叫做迁移吗?玩! 2.1是我见过的最糟糕的版本:(