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

我使用mongodriver在Java上运行一些聚合方法,但是bson库无法映射文档实例,尽管我不确定这是否是原因

我收到的错误信息:

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
    。同时确保依赖项版本号是否正确