我正在尝试构建maven应用程序,但收到错误消息:
[错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:2.5.1:项目helloworld上的编译(default-compile):编译失败
[错误] D:... \ Spark-test \ java-getting-started \ src \ main \ java \ Main.java:[73,35]错误:-source 1.5中不支持lambda表达式
它是一个heroku示例java项目,在system.properties文件中设置了java版本:java.runtime.version = 1.8
具体路线如下:
get("/login", (request, response) -> {
System.out.println("request: " + request);
return "Hello World From Spark";
});
我不明白问题出在哪里,或者将源代码设置为java 1.5
答案 0 :(得分:8)
尝试将此添加到您的pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
不知怎的,maven尝试编译java 1.5,它还没有lambdas(仅从1.8开始)。你是如何开始构建的? Maven命令行还是IDE?
编辑:替代方式,只需设置这些属性:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>