Java错误,Java.lang.NoClassDefFoundError:org/myorg/WordCount在Hadoop中

Java错误,Java.lang.NoClassDefFoundError:org/myorg/WordCount在Hadoop中,java,hadoop,Java,Hadoop,我是Hadoop的新手。我遵循了关于如何在hadoop中创建单词计数程序的基本教程。一切都很好。然后我尝试创建自己的MapReduce,并将其放在一个单独的jar文件中。当我试图运行该程序时,它给了我一个错误: shean@ubuntu-PC:~/hadoop/bin$ hadoop jar ../weather.jar weather.Weather /user/hadoop/weather_log_sample.txt /user/hadoop/output Warning: $HADOOP

我是Hadoop的新手。我遵循了关于如何在hadoop中创建单词计数程序的基本教程。一切都很好。然后我尝试创建自己的MapReduce,并将其放在一个单独的jar文件中。当我试图运行该程序时,它给了我一个错误:

shean@ubuntu-PC:~/hadoop/bin$ hadoop jar ../weather.jar weather.Weather /user/hadoop/weather_log_sample.txt /user/hadoop/output
Warning: $HADOOP_HOME is deprecated.

Exception in thread "main" java.lang.NoClassDefFoundError: org/myorg/WordCount
    at weather.Weather.main(Weather.java:45)
    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:616)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: java.lang.ClassNotFoundException: org.myorg.WordCount
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 6 more

但问题是,它正在寻找WordCount类…

如果我没有错,您缺少jar
WordCount.jar
。请将其添加到
构建路径。
如果我没有错,您缺少jar
WordCount.jar
。请将其添加到
构建路径。
我的建议:您将“package”路径首先被删除。这使得不报告NoClassDefFoundError错误变得更容易。javac编译时:javac类路径“$HADOOP_HOME/HADOOP-core-1.2.0.jar:$HADOOP_HOME/lib/commons-cli-1.2.jar”-d./天气

litianmin@gmail.com我的建议是:首先删除“包”路径。这使得不报告NoClassDefFoundError错误变得更容易。javac编译时:javac类路径“$HADOOP_HOME/HADOOP-core-1.2.0.jar:$HADOOP_HOME/lib/commons-cli-1.2.jar”-d./天气

litianmin@gmail.com