MongoDB java driver: Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/MongoCli



在ant build.xml中包含jar库之后,我仍然得到错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/MongoClient

我的ant相关配置如下:

<target name="compile" depends="clean">
    <mkdir dir="${classes}"/>
    <javac srcdir="${src}" destdir="${classes}" includeantruntime="false" debug="on">
        <classpath id="classpath">
            <pathelement path="${classpath}"/>
            <fileset dir="lib">
                <include name="mongo-2.10.1.jar"/>
            </fileset>
        </classpath>
    </javac>
</target>

"include"部分的东西是工作的,因为没有包含部分,甚至我改变了路径名一点点,我将得到符号未发现错误,这意味着当前类路径被真正包含到文件中。但为什么它仍然不起作用,有人知道吗?

顺便说一下,这是我的java代码的第一行得到错误:
MongoClient mongoClient = new MongoClient("localhost",27017);

即使不涉及插入和查询操作.....

您在这里只共享了您的"compile"目标-如果您只将mongo jar文件添加到编译目标中,那么当您实际运行时,您将错过依赖项。

检查mongo jar是否也在运行时类路径上——这可能在"java"ant目标中配置,具体取决于您的应用程序。

您可能需要直接检查您的mongo-java-driver-XXX.jar文件。旧版本没有com.mongodb.MongoClient类。你可以用Mongo代替。

代替

MongoClient client = new MongoClient();
类型:

Mongo client = new Mongo();

相关内容

  • 没有找到相关文章