Java hadoop:无法运行mapreduce作业

Java hadoop:无法运行mapreduce作业,java,hadoop,mapreduce,hdfs,distributed-computing,Java,Hadoop,Mapreduce,Hdfs,Distributed Computing,我用java制作了3个文件,制作了一个jar文件,并编写了这行代码来执行MapReduce代码: hadoop jar /home/xyz/Documents/hadoop-2.7.3/abc1.jar woq.WordCount /test/vocab.txt /test/output3 jar文件名是abc1.jar,woq是包名,WordCount是为mapreduce代码定义作业的主类。执行此行时,显示以下错误: Exception in thread "main" java.lang

我用java制作了3个文件,制作了一个jar文件,并编写了这行代码来执行MapReduce代码:

hadoop jar /home/xyz/Documents/hadoop-2.7.3/abc1.jar woq.WordCount /test/vocab.txt /test/output3
jar文件名是abc1.jarwoq是包名,WordCount是为mapreduce代码定义作业的主类。执行此行时,显示以下错误:

Exception in thread "main" java.lang.ClassNotFoundException: woq.WordCount
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
关于我在执行上述内容时遗漏了什么,有什么建议吗

grep命令的输出(在注释中):

从评论来看

类文件似乎有一行
package woq在没有acutal目录结构的目录中。您可以创建父目录
woq
,也可以从文件中删除该行并重新编译

如果删除该行,则可以这样提交作业

hadoop jar /home/xyz/Documents/hadoop-2.7.3/abc1.jar WordCount /test/vocab.txt /test/output3

jar-tvf abc1.jar
列出jar中的类,它应该会给你WordCount类的包层次结构。它会给你5个类。其中3个是我编译的类和2个额外的文件你能为
WordCount
grep输出吗?如果这个命令没有运行,我怎么能看到它的输出呢?我的意思是,
jar-tvf abc1.jar | grep-i'WordCount'
hadoop jar /home/xyz/Documents/hadoop-2.7.3/abc1.jar WordCount /test/vocab.txt /test/output3