2013-02-17 6 views
0

Il me semble être incapable de compiler simple MongoDB + Java Exemple:Compiler simple MongoDB + Java Exemple

Je fichier https://github.com/mongodb/mongo-java-driver/blob/master/examples/QuickTour.java

Dans ma ligne de commande je compile en faisant

$ javac -cp mongo-2.10.1.jar QuickTour.java $ java -cp mongo-2.10.1.jar QuickTour

Cependant, il me donne l'erreur

Exception in thread "main" java.lang.NoClassDefFoundError: QuickTour 
Caused by: java.lang.ClassNotFoundException: QuickTour 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 

Que se passe-t-il et comment puis-je résoudre ce problème? Est-ce quelque chose à voir avec mes arguments de compilation?

... Merci

+1

L'erreur ne semble pas du tout liée à mongo. – assylias

Répondre

2

Ce n'est pas l'erreur de compilation. C'est l'erreur que vous avez lorsque vous essayez d'exécuter votre class. Et l'erreur dit simplement qu'il ne peut pas trouver la classe que vous essayez d'exécuter. Cette erreur signifie presque toujours que vous avez foiré avec le classpath.

Le problème est que vous avez oublié d'inclure le répertoire courant dans votre argument à classpath. Ajouter un dot(.) en plus de votre fichier mongo.jar comme argument de -cp:

java -cp .;mongo-2.10.1.jar QuickTour 

Cela en supposant que vous exécutez votre QuickTour classe dans le même répertoire où vous l'avez placé.

+0

hm, j'ai essayé mais java imprime simplement l'écran d'aide pour la commande java. Est-ce que ça marche pour toi? – ejang

+0

Quel environnement utilisez-vous? Windows ou Linux? –

+0

Je cours mac osx 10.7 – ejang