编译简单的MongoDB+;Java示例

编译简单的MongoDB+;Java示例,java,mongodb,Java,Mongodb,我似乎无法编译一个简单的MongoDB+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:

我似乎无法编译一个简单的MongoDB+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)
发生了什么事?我该如何解决?这与我的编译参数有关吗


谢谢…

这不是编译时错误。这是您在尝试运行
类时遇到的错误。错误只是说它找不到您试图运行的类。这个错误几乎总是意味着你弄乱了类路径

问题是,您忘记在
类路径的参数中包含当前目录。除了您的
mongo.jar
文件之外,添加一个
点(.)
,作为
-cp
的参数:

java -cp .;mongo-2.10.1.jar QuickTour

这假设您正在从放置它的同一目录执行
QuickTour
类。

该错误似乎与mongo没有任何关系。嗯,我尝试过,但java只是打印java命令的帮助屏幕。它对你有用吗?你在使用什么环境?Windows或Linux?在这种情况下,使用
作为类路径上的分隔符,而不是
java-cp.:mongo-2.10.1.jar QuickTour