2017-10-20 57 views
0

当时下面的教程在这里:http://sparkjava.com/的ClassNotFoundException:在命令行中运行时spark.Request

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

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 

什么我做错了吗?

+2

将类路径周围的引号留下:'$ java -cp〜/ Downloads/spark-core-2.6.0.jar :. Main'。但是它会抱怨缺少'org/slf4j/LoggerFactory',它确实会丢失,除非你下载它并将它包含在类路径中。 – cello

+0

谢谢。这确实是报价! – Jas

+0

@cello任何机会发布此作为答案,以便我可以接受它。谢谢。 – Jas

回答

1

周围留出的类路径走的报价:

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

如果你这样做,你会得到一个错误,org/slf4j/LoggerFactory没有找到,这确实是丢失,除非你下载它,以及和包括它在班级路径中。