线程"main"中的异常java.lang.NoClassDefFoundError:com/google/common/base/Preconditions

JGS*_*JGS 13 eclipse hadoop mapreduce

同时运行java map减少eclipse中的应用程序,并面临以下异常.我已经在我的构建路径中包含了commons-logging-1.2.jar文件,但仍然在下面.

我是hadoop的新手.请帮助我.

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Preconditions
    at org.apache.hadoop.conf.Configuration$DeprecationDelta.<init>(Configuration.java:314)
    at org.apache.hadoop.conf.Configuration$DeprecationDelta.<init>(Configuration.java:327)
    at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:409)
    at AverageNosClass.main(AverageNosClass.java:71)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Preconditions
    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:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 4 more
Run Code Online (Sandbox Code Playgroud)

小智 8

将guava-11.0.2.jar添加到构建路径解决了这个问题.这个jar在/ share/hadoop/tools/lib文件夹中.我已经安装了hadoop 2.4.0.


kd0*_*807 6

确保已将正确的Jar添加到构建路径中.

  • 你添加了番石榴库吗?尝试在构建路径中添加guava Jar并进行测试.com.google.common.base.Preconditions是Google Collections Library中的一个类 (3认同)