error: illegal start of expression in some lambda expressions

error: illegal start of expression in some lambda expressions

我在java中有以下功能:

private static Predicate<SomeObject> isNotCancelled() {
    return i -> !i.getStatus().equals("Cancelled");
}

使用以下激活器命令时:编译、运行、测试或 testOnly。一切正常,没有编译错误,应用程序如我所料。

但是当我执行activator testProd 或activator stage 时出现以下错误:

[error] /path_to_class/SomeClass.java:34: error: illegal start of expression
[error]         return i -> !i.getStatus().equals("Cancelled")
[error]                   ^

谁能帮我理解为什么会这样?

提前致谢。

我通过将 activator、sbt 和 play 版本升级到以下版本解决了这个问题:

  • activator-dist-1.3.7(我之前的版本是1.3.6)
  • sbt 0.13.9(我之前的版本是0.13.8)
  • 玩2.4.4(我之前的版本是2.4.4)