首先在我运行的下载的火花项目的根目录的命令行上
mvn package
Run Code Online (Sandbox Code Playgroud)
它很成功.
然后通过导入spark pom.xml创建了一个intellij项目.
在IDE中,示例类显示正常:找到所有库.这可以在屏幕截图中查看.
但是,在尝试运行main()时,会发生SparkContext上的ClassNotFoundException.
为什么Intellij不能简单地加载和运行这个基于maven的scala程序?什么可以作为一种解决方法?
如下所示,SparkContext在IDE中看起来很好:但是在尝试运行时找不到:

通过右键单击main()来运行测试:

..并选择Run 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
Run Code Online (Sandbox Code Playgroud)
这是运行配置:

我正在编写我的第一个Hadoop应用程序而且我收到了一个错误.我不太明白这个堆栈跟踪中的一些detials是什么意思.这是一个ClassNotFoundException.我正在Ubuntu Linux v12.10,Eclipse 3.8.0,Java 1.6.0_24上构建它.我通过从Apache站点下载并使用Ant构建Hadoop来安装Hadoop.
当我创建一份工作时,我的崩溃就在程序的第一行.
public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException {
Job job = new Job(); <<== crashing here.
Program [Java Application]
com.sandbox.hadoop.Program at localhost:33878
Thread [main] (Suspended (exception ClassNotFoundException))
owns: Launcher$AppClassLoader (id=29)
owns: Class<T> (org.apache.hadoop.security.UserGroupInformation) (id=25)
URLClassLoader$1.run() line: 217
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
Launcher$AppClassLoader(URLClassLoader).findClass(String) line: 205
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: 321
Launcher$AppClassLoader.loadClass(String, boolean) line: 294
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 266
DefaultMetricsSystem.<init>() line: 37
DefaultMetricsSystem.<clinit>() line: 34
UgiInstrumentation.create(Configuration) line: 51
UserGroupInformation.initialize(Configuration) line: 216 …Run Code Online (Sandbox Code Playgroud)