【发布时间】:2016-05-11 12:20:44
【问题描述】:
我正在使用 mongodriver 在 Java 上运行一些聚合方法,但是 bson 库无法映射 Document 实例,尽管我不确定它是否真的是原因。
我收到的错误:
java.lang.NoClassDefFoundError: org/bson/Document
at services.ApplianceServiceImpl.aggregate(ApplianceServiceImpl.java:361)
at controllers.AdminController.aggregate(AdminController.java:394)
SBT 文件中的 BSON 和 Mongodriver 声明:
libraryDependencies ++= Seq(
"org.mongodb.morphia" % "morphia" % "0.108",
"org.mongodb.morphia" % "morphia-logging-slf4j" % "0.108",
"org.mongodb.morphia" % "morphia-validation" % "0.108",
"org.mongodb" % "bson" % "3.0.4",
"org.mongodb" % "mongodb-driver" % "3.0.4",
Java 代码:
public PaginationWrapper aggregate(FormRequest formData){
List r = new ArrayList();
int c=0;
try{
List l = asList(new Document("$group", new Document("_id", formData.field).append("count", new Document("$sum", 1))));
Iterator i = db.getCollection(formData.collection).aggregate(l).results().iterator();
while(i.hasNext()){
r.add(i.next());
c++;
}
}catch (Error e){
e.printStackTrace();
}
return new PaginationWrapper(c, r);
}
代码在以 'List l = asList(new ...'
开头的行失败你认为我做错了什么?
【问题讨论】:
标签: java playframework sbt mongodb-java bson