我正在尝试运行Hadoop wordcount作业(我正在使用hadoop 2.6.0)。当我将项目导出到runnable jar并从CLI运行它时,它可以工作。但是,当我在Eclipse中使用" Run as java application"我收到以下例外:
线程中的异常" main" java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory 在org.apache.hadoop.conf.Configuration。(Configuration.java:173) 在WordCount.main(WordCount.java:54) 引起:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:366) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ......还有2个
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
我认为您没有正确配置Eclipse,并且它不知道在哪里可以找到Apache Commons库jar。从this tutorial开始,您可能会错过最后一步:
要从Eclipse运行测试,您还需要执行以下操作:
- 在项目属性下,选择Java Build Path和Libraries选项卡
- 点击"添加外部类文件夹"并选择当前项目的构建目录
您可能还想查看this other tutorial,其中显示了如何/在何处添加依赖项jar来运行Hadoop程序。
答案 1 :(得分:0)
您应该将 commons-logging-1.1.1.jar 添加到您的eclipse项目中并重新重建。
答案 2 :(得分:0)
请在/usr/local/hadoop/share/hadoop/common/lib
答案 3 :(得分:0)