0

単純なMongoDB+Javaの例をコンパイルできないようです。

私はこのファイルを持っています https://github.com/mongodb/mongo-java-driver/blob/master/examples/QuickTour.java

私のコマンドラインでは、次のようにしてコンパイルします

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

しかし、それは私にエラーを与えます

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)

何が起こっているのですか、どうすればこれを修正できますか?それは私のコンパイル引数と関係がありますか?

ありがとう...

4

1 に答える 1

2

コンパイル時エラーではありません。を実行しようとしたときに発生したエラーですclass。エラーは、実行しようとしているクラスが見つからないことを示しています。そのエラーは、ほとんどの場合、クラスパスを台無しにしたことを意味します。

問題は、への引数に現在のディレクトリを含めるのを忘れていることclasspathです。への引数としてファイルに加えて追加dot(.)します。mongo.jar-cp

java -cp .;mongo-2.10.1.jar QuickTour

QuickTourこれは、クラスを配置したのと同じディレクトリからクラスを実行していることを前提としています。

于 2013-02-17T07:28:15.160 に答える