web-dev-qa-db-fra.com

Exception dans le fil "principal" Java.lang.NoClassDefFoundError: com/google/common/base/Preconditions

Lorsque vous utilisez Java Map, réduisez l’application dans Eclipse et faites face à l’exception ci-dessous. J'ai également inclus le fichier commons-logging-1.2.jar dans mon chemin de génération, mais le fichier ci-dessous arrive toujours.

Je suis nouveau sur hadoop. S'il vous plaît aidez-moi.

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
13
JGS

Assurez-vous que vous avez ajouté le bon Jar à votre chemin de construction.

6
kd0807

L'ajout de guava-11.0.2.jar au chemin de génération a résolu le problème. Ce fichier se trouve dans le dossier/share/hadoop/tools/lib. J'ai installé hadoop 2.4.0.

8
Vinod S. Patil

cela est causé par Guava-x.y.z.jar car il manque, assurez-vous de l'ajouter. 

3

Mon problème a été résolu en ajoutant le pot suivant

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>13.0-rc1</version>
</dependency>
1
Sunil

Utilisez Google Collection JAR à partir de 

cela pourrait résoudre votre problème.

1
Ajit K'sagar

Est-ce que votre répertoire lib Hadoop contient tous les fichiers jar que vous avez utilisés dans votre projet Eclipse?

Sinon, placez-les dans le répertoire lib Hadoop et redémarrez hadoop.

0
sras

J'ai résolu ce problème en ajoutant la bibliothèque guava-14.0.1.

0
Sanjeet Pandey

J'ai aussi eu cette erreur en essayant d'utiliser MRUnit et la dépendance maven n'a pas été trouvée, j'ai donc essayé de l'ajouter manuellement. Est-ce votre cas? 

Le problème est que si vous ajoutez le fichier jar manuellement, il continuera à ne pas demander le reste des fichiers jar MRUnit (ceux du pom de MRUnit) jusqu'à ce que vous les ajoutiez tous avec la même version que dans le pom.

La cause de mrunit non trouvée était que je n'utilisais pas le classificateur nécessaire dans la déclaration de dépendance

Solution est ajout du classificateurhadoop1 ou hadoop2

0
Edu Castrillon