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));
Как ни странно, эта ошибка появляется при запуске как webapp из Tomcat6 и при использовании 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 () работают. Просто он говорит NoSuchMethodError, когда я вызываю save ().
Это свежая установка Ubuntu 10.4 и tomcat6 поверх нее. JDK - это OpenJDK java версии "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1 ~ 10.04.1)
Похоже, вам нужно перекомпилировать здесь и убедиться, что ваши цели чистые, если бы были конфликтующие файлы jar mongo из разных версий в пути к классу, тогда изменение метода возврата (которое, я думаю, есть в 2.0 -> 2.5), вызвать такого рода проблемы.