使用lambda表达式编译代码时出错

我有以下代码:

package com.mongoDB; import spark.Spark; public class HelloWorldSparkStyle { public static void main(String[] args) { Spark.get("/hello", (req, res) -> "Hello World"); } } 

当我通过main方法运行它时它运行正常但在我尝试编译时抛出以下错误:

 \HelloWorldSparkStyle.java:[9,33] error: lambda expressions are not supported in -source 1.5 D:\WorkspaceWithJava8\BeginnerProject>javac -version javac 1.8.0_60 

我正在使用Eclipse IDE并尝试通过命令行编译它。

默认情况下, maven-compiler-plugin使用Java 5来编译类。 引用其文档 :

另请注意,目前默认的源设置为1.5,默认目标设置为1.5,与您运行Maven的JDK无关。 如果要更改这些默认值,则应设置源和目标,如设置Java编译器的-source和-target中所述。

您需要将其配置为使用Java 8,如下所示:

  maven-compiler-plugin 3.3  1.8 1.8   

让我进一步阐述上面的答案。 将上面给出的插件放​​在 ,如下所示。

    maven-compiler-plugin 3.3  1.8 1.8