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 回答