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



我正在尝试从命令行构建Spark-Java文档中的简单示例。 我已经将依赖项添加到我的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

为什么当我尝试从命令行运行它时会出现这些错误?

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

这是通过在pom.xml中定义maven.compiler.sourcemaven.compiler.target属性来完成的:

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

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

最新更新