Ich bin neu in Hadoop und MapReduce und versuche, ein einfaches WordCount-Programm zu erstellen. Wenn es jedoch ausgeführt wird, laufe ich in einen Fehler:Eclipse MapReduce Fehler: UnModifyableMap
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/UnmodifiableMap
at org.apache.hadoop.conf.Configuration$DeprecationContext.<init>(Configuration.java:409)
at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:448)
at com.Cameron.WordCount.main(WordCount.java:51)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.UnmodifiableMap
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)
... 3 more
Ich habe einen Blick rund um Online hat und die Ursache scheint die Tatsache zu sein, dass die Commons Sammlung JAR nicht in dem Build-Pfad enthalten ist, obwohl mit meins ist es und ich bekomme immer noch den Fehler. Ich habe versucht, das Projekt zu säubern und Eclipse ohne Erfolg neu zu starten, also würde jede Hilfe sehr geschätzt werden. Meine Build-Pfad-Konfiguration ist wie folgt:
commons-collections4-4.1.jar
commons-lang-2.6.jar
commons-logging-1.2.jar
guava-11.0.2.jar
hadoop-common-2.7.2.jar
hadoop-mapreduce-client-core-2.7.2.jar
JRE System Library [JavaSE-1.7]