Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 玩2.1要我写scala代码吗_Java_Scala_Playframework_Playframework 2.1 - Fatal编程技术网

Java 玩2.1要我写scala代码吗

Java 玩2.1要我写scala代码吗,java,scala,playframework,playframework-2.1,Java,Scala,Playframework,Playframework 2.1,我希望这是我在游戏中遇到的最后一个错误!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.ut

我希望这是我在游戏中遇到的最后一个错误!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>
编辑:

使用
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]
解决方案:


删除您的项目。创建一个新的。

游戏中不再需要mainLang=JAVA!2.1:依赖项
java*
已经足够玩了!以识别您的主要应用程序语言


文件的其余部分似乎是正确的。试着运行
play clean all compile
,使其工作。

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>
返回ok(createOrUpdate.render(Secured.getConnectedUser()、getCustomers()、User.build(User));
[错误]必需:用户,scala.collection.immutable.List,用户
找到[错误]:用户,java.util.List,
解决方案是:

  • 创建新项目
  • 将文件放入(应用程序、公共…文件夹)
  • 删除旧项目

  • 所以。。。这叫做迁移吗?玩2.1是我见过的最差版本:(

    我知道。我试过使用mainLang参数和不使用mainLang参数。我启动了play clean clean files compile。clean all在我的cli上不是有效的命令对不起,我的意思是“clean files”。是的,最后一个字段为null,这是一种预期行为。正如我所说,我所有的控制器都有这个问题。问题是scala没有处理类型转换。奇怪的是,您仍然看到了错误-scala有一个java类型转换器,如果包含,它将转换类型。请参见此处:似乎导入应该是
    import play.Project.\uuuzde>也检查过了。同样的问题之后,你应该对这两个项目进行比较,看看有什么不同:我真的很感兴趣。我将几个应用程序从Play!2.0迁移到Play!2.1,唯一的问题是我的错误(没有仔细阅读文档)。但我承认可能存在错误(Play!2.1似乎仍然有点错误)。很容易给我-1.没有人能找到答案。这不是我在Play!2.1中遇到的第一个问题,是的,我已经检查了差异:/project/project/target和/project/target与Play!2.0应用程序完全不同。因此不可能手动修复。正如我所说的,创建新项目比编辑3个文件更有效对于这种比较来说,启动3个命令IMHOproject/project/target和project/target并不有趣:它们可以被清除和重新生成(您可以手动删除它们)。有趣的部分可能(我猜)在project文件夹的某个地方。
    
    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>