我正在尝试用Jongo
运行一个“hello world”我手动添加了jar(不是使用Maven)
这是我运行的代码:
public class Friend {
@Id
private String myId;
}
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient( "mydb.mongohq.com", 10014 );
DB db = mongoClient.getDB( "db-name" );
Jongo jongo = new Jongo(db);
MongoCollection friends = jongo.getCollection("collection");
Friend joe = new Friend();
friends.save(joe);
}
我犯了这个错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.bson.io.PoolOutputBuffer.write(PoolOutputBuffer.java:74)
at org.bson.LazyBSONObject.pipe(LazyBSONObject.java:451)
at org.jongo.bson.BsonDBEncoder.writeObject(BsonDBEncoder.java:39)
at com.mongodb.OutMessage.putObject(OutMessage.java:289)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:239)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:204)
at com.mongodb.DBCollection.insert(DBCollection.java:148)
at com.mongodb.DBCollection.insert(DBCollection.java:91)
at com.mongodb.DBCollection.save(DBCollection.java:810)
at org.jongo.Insert.save(Insert.java:55)
at org.jongo.MongoCollection.save(MongoCollection.java:128)
答案 0 :(得分:2)
假设您已经添加了jar依赖项--Jackson 2.1,Bson4Jackson 2.1和Mongo Java Driver 2.9+ - 在我看来,您的朋友类没有私有构造函数。 The mapping section of the documentation详细解释了这一点。
答案 1 :(得分:0)
我的错误是使用Jackson 2.2.1而不是2.1, 在将其更改为2.1后,它运行良好。