Java Bson库无法映射文档对象
我使用mongodriver在Java上运行一些聚合方法,但是bson库无法映射文档实例,尽管我不确定这是否是原因 我收到的错误信息:Java Bson库无法映射文档对象,java,playframework,sbt,mongodb-java,bson,Java,Playframework,Sbt,Mongodb Java,Bson,我使用mongodriver在Java上运行一些聚合方法,但是bson库无法映射文档实例,尽管我不确定这是否是原因 我收到的错误信息: java.lang.NoClassDefFoundError: org/bson/Document at services.ApplianceServiceImpl.aggregate(ApplianceServiceImpl.java:361) at controllers.AdminController.aggregate(A
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);
}
代码在以“列表l=asList(新…”开头的行失败
你认为我做错了什么?运行时抛出此异常
java.lang.NoClassDefFoundError
,因为它没有在类路径中找到org.bson.Document
类的定义。换句话说,org.bson.Document
不存在。Playframework添加lib/
direct中找到的所有JARory(我在MyPlayApplication\target\universal\stage\lib
下找到了我的。请尝试以下操作:
bson-3.x.x.jar
sbt
文件配置不正确build.sbt
中添加resolvers+=Resolver.mavenLocal
。同时确保依赖项版本号是否正确