MongoDB Java,R2.5.3 – Tomcat6中的DBCollection.save(DBObject)上的NoSuchMethodError

java.lang.NoSuchMethodError:com.mongodb.DBCollection.save(Lcom / mongodb / DBObject;)V

这里是示例代码。 错误在第3行。

1 BasicDBObject dbo=new BasicDBObject(data); 2 DBCollection coll = new Mongo().getDB("test") 3 coll.save(dbo); 4 data.put(Entity.DB_ID, dbo.get(Entity.DB_ID)); 

奇怪的是,当从Tomcat6运行webapp并使用mongo 2.4或2.5.3时,显示这个错误。 与2.0.rc3,它工作正常。 我想使用2.5.3另外,从eclipse或命令行运行时,它适用于所有三个版本(2.0,2.4,2.5.3)和DBCollection类正在加载,因为coll.insert(),coll.find () 在工作中。 只是当我调用save()时,它说NoSuchMethodError。

这是Ubuntu 10.4和tomcat6的全新安装。 JDK是OpenJDK java版本“1.6.0_20”OpenJDK运行环境(IcedTea6 1.9.7)(6b20-1.9.7-0ubuntu1〜10.04.1)

听起来你需要在这里重新编译,并确保你的目标是干净的,如果在类path中有不同版本的mongo jar文件,那么在moethod返回(我认为在2.0 – > 2.5)造成这种问题。