java.lang.NoClassDefFoundError dans Hadoop-1.0.1
je suis en train de travailler avec Hadoop-1.0.1 dans Eclipse. Je suis en train de lancer nombre de mots application mais quand je lance mon WordCount.java Eclipse me montre d'erreur suivant
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:143)
at test.WordCount.main(WordCount.java:56)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 2 more
J'ai hadoop-core-1.0.1.jar dans mon classpath
. Si l'application nécessite plus de pot
- avez-vous eu apache commons logging fichier jar dans le classpath?
- nan... j'ai seulement hadoop-core-1.0.1.jar dans mon classpath. Permettez-moi de l'ajouter.
- ajouter le toutes les dépendances lib-pots chemin de classe..
- Comment ajouter plusieurs pots à classpath?
- Simplement un clic droit sur le projet, visitez le classpath, naviguez jusqu'à l'emplacement de ces pots et sélectionnez-les toutes.
Vous devez vous connecter pour publier un commentaire.
Il semble que vous obtenez cette erreur, soit parce que deux classes de journalisation commons-logging-1.1.1.jar et commons-logging-api-1.0.4.jar qui sont liés avec de la commune de journalisation n'est pas disponible à partir de votre classpath ou vous n'avez tout simplement pas cela.
Dans la plupart des cas, ces fichiers sont dans \lib dossier avec d'autres Hadoop Jar ainsi, lorsque vous définissez le chemin de classe de ces jar sont accessibles. Veuillez vérifier que vous n'avez pas ces fichiers dans votre ordinateur, dans votre classpath afin qu'ils soient accessibles.
Également lorsque vous exécutez "hadoop" version de la version s'affiche en tant que résultat, la même hadoop-core--SNAPSHOT.jar doit être dans votre $HADOOP_HOME emplacement.
Vous avez mentionné que vous exécutez WordCount.java au lieu de cela, vous devriez dire que vous exécutez WordCount travail parce que vous êtes toujours à l'aide de l'application compilée que le pot pas java.
$ bin/hadoop jar /usr/jboss/wordcount.jar org.myhadoop.Nombre de mots /usr/jboss/nombre de mots d'entrée/de /usr/jboss/nombre de mots/de sortie
hadoop-core-1.0.1
est probablement pas dans votre classpath:commons-logging
est en fait inclus plusieurs fois dans le hadoop bocal!Il semble que vous n'avez pas inclure la commune d'enregistrement de fichier jar donc Télécharger Ici le fichier jar dépend de la version, Puis de l'inclure dans votre programme et l'exécuter MERCI