2013-02-17 57 views
0

我似乎無法編譯一個簡單的MongoDB + Java的例子:編譯簡單的MongoDB + Java示例

我有這個文件 https://github.com/mongodb/mongo-java-driver/blob/master/examples/QuickTour.java

在我的命令行我做

$編譯的javac -cp蒙戈 - 2.10.1.jar QuickTour.java $ java命令蒙戈 - 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) 

這是怎麼回事,我該如何解決這個問題?這與我的編譯參數有關嗎?

謝謝...

+1

該錯誤似乎與mongo完全不相關。 – assylias 2013-02-17 07:30:33

回答

2

這不是編譯時錯誤。這是您嘗試運行class時得到的錯誤。錯誤只是說它找不到你正在嘗試運行的類。這個錯誤幾乎總是意味着你弄糟了classpath。

問題是,您忘記將您的參數中的當前目錄包含在classpath中。您mongo.jar文件作爲參數添加另外一個dot(.)-cp

java -cp .;mongo-2.10.1.jar QuickTour 

此假設你是從那裏你已經把它放在同一個目錄下執行你的QuickTour類。

+0

嗯,我試過,但Java只是打印java命令的幫助屏幕。它爲你工作? – ejang 2013-02-17 18:08:05

+0

你使用什麼環境? Windows還是Linux? – 2013-02-17 18:09:03

+0

我正在運行mac osx 10.7 – ejang 2013-02-17 18:10:08