Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用lambda表达式编译代码时出错_Java_Maven_Lambda_Java 8 - Fatal编程技术网

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