ClassNotFoundException: spark.Request when 运行 来自命令行

ClassNotFoundException: spark.Request when running from command line

在此处学习教程:http://sparkjava.com/

我下载了 spark-core 然后编译了这个 class:

import static spark.Spark.*;

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

$ javac -classpath ~/Downloads/spark-core-2.6.0.jar Main.java

当 运行:

$ java -cp "~/Downloads/spark-core-2.6.0.jar:." Main


Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: spark/Request
    at Main.main(Main.java:5)
Caused by: java.lang.NoClassDefFoundError: spark/Request
    ... 1 more
Caused by: java.lang.ClassNotFoundException: spark.Request
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

我做错了什么?

离开 class 路径周围的引号:

$ java -cp ~/Downloads/spark-core-2.6.0.jar:. Main.

如果你这样做,你会得到一个错误,指出 org/slf4j/LoggerFactory 没有找到,除非你也下载它并将它包含在 class 路径中,否则它确实丢失了。