Java 使用lambda表达式编译代码时出错
我有以下代码:Java 使用lambda表达式编译代码时出错,java,maven,lambda,java-8,Java,Maven,Lambda,Java 8,我有以下代码: package com.mongoDB; import spark.Spark; public class HelloWorldSparkStyle { public static void main(String[] args) { Spark.get("/hello", (req, res) -> "Hello World"); } } 当我通过main方法运行它时,它运行良好,但当我尝试编译它时,它会抛出以下错误: \HelloWorl
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
我正在使用EclipseIDE并试图通过命令行编译它。默认情况下,
maven编译器插件使用Java5编译类。引述:
还要注意,目前默认的源设置是1.5,默认的目标设置是1.5,与运行Maven的JDK无关。如果要更改这些默认值,应该按照Java编译器的-source和-target设置中所述设置源和目标
您需要将其配置为使用Java 8,如下所示:
maven编译器插件
3.3
1.8
1.8
让我进一步阐述上述答案。将上面答案中给出的插件放在
和
之间,如下所示
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
maven编译器插件
3.3
1.8
1.8
您使用哪个版本的eclipse或netbeans?设置这些参数的更简洁的方法是通过属性:1.81.8