Grails spring security rest和guava之间的间接jar冲突导致NoSuchMethod错误

Grails spring security rest和guava之间的间接jar冲突导致NoSuchMethod错误,grails,guava,grails3,grails-3.1,google-guava-cache,Grails,Guava,Grails3,Grails 3.1,Google Guava Cache,我使用Grails3.1.16 build.gradle: dependencies { compile "com.google.guava:guava:18.0" compile "org.grails.plugins:spring-security-rest:2.0.0.M2" } 运行此代码时: private LoadingCache<String, Boolean> attempts @PostConstruct void init

我使用Grails3.1.16

build.gradle:

dependencies {
    compile "com.google.guava:guava:18.0"
    compile "org.grails.plugins:spring-security-rest:2.0.0.M2"
}
运行此代码时:

   private LoadingCache<String, Boolean> attempts

    @PostConstruct
    void init() {
        Integer time = ApplicationContextHolder.getProperty(ApplicationContextHolder.config.time)
        attempts = CacheBuilder.newBuilder()
                .expireAfterWrite(time, TimeUnit.MINUTES)
                .build({ 0 } as CacheLoader)
    }
运行dependency report后,我发现问题是由Spring Security REST插件(com.google.guava:guava base:r03)的依赖性引起的,该插件具有相同的包名“com.google.common.base”和Platform.class,但没有此类方法systemNanoTime()

有什么办法解决这个问题吗?

你试过了吗

dependencies {
    compile "com.google.guava:guava:18.0"
    compile ("org.grails.plugins:spring-security-rest:2.0.0.M2") {
        exclude module: 'guava-base'

        // can also be specified with group
        // exclude group: 'com.google.guava', module: 'guava-base'
    }
}

这将从
spring security rest
中排除
guava base
的可传递依赖项

步骤1。请检查更新的依赖项()

您可以检查弹簧的安全性和休息 番石榴和

第2步。

compile("org.grails.plugins:spring-security-rest:2.0.0.RC1") {
            excludes([group: 'com.google.guava:guava'])
}
步骤3。
build.gradle
中,您可以从JAR文件中排除已编译的类:

jar {
 exclude "com/google/guava/**/**"
}

或者你可以参考我的

,但我不知道它是否有效,因为问题只会偶尔出现,并且依赖关系树不会更新(如文档中所述)。。。这是“试着祈祷”
dependencies {
    compile 'org.grails.plugins:spring-security-rest:2.0.0.RC1'
    compile 'com.google.guava:guava:24.0-jre'
}
compile("org.grails.plugins:spring-security-rest:2.0.0.RC1") {
            excludes([group: 'com.google.guava:guava'])
}
jar {
 exclude "com/google/guava/**/**"
}