Spark-Java:从命令行

时间:2017-04-08 21:43:15

标签: java rest maven compiler-errors spark-java

我试图从命令行在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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您需要确保将源编译为Java 8

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

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