使用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