Spark-Java:从命令行构建文档示例

Spark-Java: Build the doc example from the command line

我正在尝试从命令行在 Spark-Java documentation 中构建简单示例。我已经将依赖项添加到我的 pom.xml 并且我正在使用第一个示例中的代码:

添加了依赖:

<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.5.5</version>
</dependency>

尝试编译和运行宁此代码:

import static spark.Spark.*;

public class HelloWorld {
    public static void main(String[] args) {
        get("/hello", (req, res) -> "Hello World");
    }
}

但是当我尝试 运行 时,我得到了错误:

error: ')' expected
error: illegal start of expression
error: ';' expected

我用来编译和运行我的项目的命令是:

mvn compile
mvn -q exec:java

当我尝试从命令行 运行 执行此操作时,为什么会出现这些错误?

为了使用像 (req, res) -> "Hello World" 这样的 lambda 表达式,需要 Java8。您使用的是较旧的 Java 版本,或者 Maven 使用的编译器版本低于 1.8。

您需要确保源代码编译为Java 8

这是在 by defining the maven.compiler.source and maven.compiler.target properties pom.xml 中完成的:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>