mongodb - 无法使用 mongodb 插件版本 3.0.3 运行 Grails 应用程序

标签 mongodb grails grails-plugin grails-2.3 mongo-java-driver

我正在尝试将我的 mongodb 插件从 2.0.1 升级到 3.0.3。但是我不断收到以下错误:

java.lang.NoClassDefFoundError: com/mongodb/AggregationOptions
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
    at java.lang.Class.getDeclaredMethods(Class.java:1855)
    at org.codehaus.groovy.reflection.CachedClass$3$1.run(CachedClass.java:84)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.codehaus.groovy.reflection.CachedClass$3.initValue(CachedClass.java:81)
    at org.codehaus.groovy.reflection.CachedClass$3.initValue(CachedClass.java:79)
    at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
    at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)
    at org.codehaus.groovy.reflection.CachedClass.getMethods(CachedClass.java:250)
    at groovy.lang.MetaClassImpl.populateMethods(MetaClassImpl.java:343)
    at groovy.lang.MetaClassImpl.fillMethodIndex(MetaClassImpl.java:293)
    at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:3048)
    at groovy.lang.ExpandoMetaClass.initialize(ExpandoMetaClass.java:483)
    at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(Cl
    ...

我尝试将插件的版本更改为 3.0.2,但错误仍然存​​在。

更新:

我使用的是 Grails 2.3.11

我尝试包含不指定任何依赖项的插件,并从我过去的配置中复制粘贴依赖项:

 dependencies {

        runtime "org.mongodb:mongo-java-driver:2.11.4"
        compile "org.mongodb:mongo-java-driver:2.11.4"
        runtime "com.gmongo:gmongo:1.2"

    }

 plugins {

        ...

        compile(':mongodb:2.0.1') {
            excludes 'mongo-java-driver', 'gmongo'
        }

最佳答案

稍微更新一下你的 BuildConfig:

compile ":mongodb:3.0.2"

不要指定任何其他 mongo 相关依赖项,也不排除 mongo-java-drivergmongo。另外,如果您使用 mongeez 插件,那么您必须排除 java 驱动程序。

compile (":mongeez:0.2.3") {
    excludes("mongo-java-driver")
}

关于mongodb - 无法使用 mongodb 插件版本 3.0.3 运行 Grails 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29278975/

相关文章:

node.js - mongoose 聚合使用 $exists in $cond

mongodb - 使用 native 驱动程序附加到mongo查询

selenium - Selenium独立服务器在生产模式下失败-Grails

Grails 2.1.1 发送邮件

grails - “GORM support for Hadoop HBase plugin”不支持grails 2.1.0

java - 如何在不创建新的mongodb连接的情况下插入文档?

json - 如何更新 mongodb 中嵌套数组中的对象?

eclipse - 针对 Groovy/Grails 开发从 Eclipse 切换到 IntelliJ

grails - 在grails中,如何在所有URL中插入其他参数(来自 session )

csv - 如何在Grails CSV插件中将反斜杠作为特殊字符读取