首先在我运行的下载的 spark 项目的根目录下的命令行上
mvn package
它是成功的。
然后通过导入 spark pom.xml 创建了一个 intellij 项目。
在 IDE 中,示例类看起来很好:找到了所有库。这可以在屏幕截图中查看。
但是,当尝试运行 main() 时,会在 SparkContext 上发生 ClassNotFoundException。
为什么 Intellij 不能简单地加载和运行这个基于 maven 的 scala 程序?可以做些什么作为解决方法?
如下所示,SparkContext 在 IDE 中看起来不错:但是在尝试运行时找不到:
通过右键单击 main() 内部运行测试:
.. 并选择运行 GroupByTest
它给
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkContext
at org.apache.spark.examples.GroupByTest$.main(GroupByTest.scala:36)
at org.apache.spark.examples.GroupByTest.main(GroupByTest.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.SparkContext
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
这是运行配置: