Java 8 错误:某些lambda表达式中的表达式开始非法

Java 8 错误:某些lambda表达式中的表达式开始非法,java-8,playframework-2.4,typesafe-activator,Java 8,Playframework 2.4,Typesafe Activator,我在java中具有以下功能: private static Predicate<SomeObject> isNotCancelled() { return i -> !i.getStatus().equals("Cancelled"); } 有人能帮我理解为什么会这样吗 提前感谢。我通过将activator、sbt和play版本升级到以下版本解决了此问题: activator-dist-1.3.7(我以前的版本是1.3.6) sbt 0.13.9(我以前的版本是0.

我在java中具有以下功能:

private static Predicate<SomeObject> isNotCancelled() {
    return i -> !i.getStatus().equals("Cancelled");
}
有人能帮我理解为什么会这样吗


提前感谢。

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

  • activator-dist-1.3.7(我以前的版本是1.3.6)
  • sbt 0.13.9(我以前的版本是0.13.8)
  • 播放2.4.4(我以前的版本是2.4.4)

您确定使用的是Java 8编译器吗?我想也是这样。我在电脑上安装的唯一版本是JavaC1.8.066。你是如何编译你的项目的?您使用的是IDE吗?我使用的是命令行“activator compile”命令。我的activator版本是“activator-dist-1.3.6”。我已将activator启动脚本更改为打印java版本,它返回了版本1.8.0\u 66
[error] /path_to_class/SomeClass.java:34: error: illegal start of expression
[error]         return i -> !i.getStatus().equals("Cancelled")
[error]                   ^