2013-03-14 510 views
0

后,我包括在蚂蚁的build.xml的jar lib下,我还是得到了错误:MongoDB的Java驱动程序:异常在线程 “主要” java.lang.NoClassDefFoundError:COM /的MongoDB/MongoClient

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

我蚂蚁相关的配置情况如下:

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

“包含”部分的东西是工作,因为出了包括部分甚至我改变路径一点点,我会找不到符号错误,这意味着目前类路径真正包含在文件中。但为什么它仍然无法工作,任何人都有一些想法?

顺便说一句,这是我的Java代码的第一行出现错误:

MongoClient mongoClient = new MongoClient("localhost",27017); 

即使没有得到的插入和查询操作.....

+1

你的意思是你得到这个异常编译期间?如果您在运行过程中遇到此异常,请检查该类路径或发布该目标。 – longhua 2013-03-14 04:10:35

+0

对不起,你是对的,其实是因为我没有正确配置jar命令,与javac命令无关 – 2013-03-20 05:15:35

回答

1

您已经只在这里共享你的“编译”目标 - 如果你只是将mongo jar文件添加到编译目标中,那么当你真正运行时你将会失去依赖。

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

-1

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

而不是

MongoClient client = new MongoClient(); 

键入:

Mongo client = new Mongo(); 
相关问题