我有以下代码:
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并尝试通过命令行编译它。
答案 0 :(得分:6)
默认情况下,maven-compiler-plugin
使用Java 5来编译类。引用its documentation:
另请注意,目前默认的源设置为1.5,默认目标设置为1.5,与您运行Maven的JDK无关。如果要更改这些默认值,则应按照设置Java编译器的-source和-target中的描述设置源和目标。
您需要将其配置为使用Java 8,如下所示:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
答案 1 :(得分:1)
让我进一步阐述上述答案。将上面答案中给出的插件放在<project>
和</project>
之间,如下所示。
<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>