MongoDB Java, R2.5.3 - NoSuchMethodError no DBCollection.save (DBObject) no Tomcat6

1

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

Aqui está o código de amostra. O erro está na linha 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));

Estranhamente, esse erro está aparecendo quando rodando como webapp do Tomcat6 e usando o mongo 2.4 ou 2.5.3. Com o 2.0.rc3, funciona bem. Eu quero usar 2.5.3 Além disso, ao executar a partir do eclipse, ou linha de comando, ele funciona com todas as três versões (2.0, 2.4, 2.5.3) E a classe DBCollection está sendo carregada porque coll.insert (), coll.find () estão funcionando. Só que está dizendo NoSuchMethodError quando eu chamo save ().

Esta é uma nova instalação do Ubuntu 10.4 e do tomcat6 em cima dele. O JDK é o OpenJDK versão java "1.6.0_20" Ambiente de tempo de execução OpenJDK (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1 ~ 10.04.1)

    
por user81240 12.05.2011 / 12:24

1 resposta

1

Parece que você precisa recompilar aqui e ter certeza de que os alvos estão limpos, se houver arquivos mongo jar conflitantes de diferentes versões no caminho da classe e uma mudança no retorno do moethod (que acho que há em 2.0 - & gt ; 2.5) causaria esse tipo de problema.

    
por 09.03.2012 / 16:29