我使用grails 3.1.16
的build.gradle:
aircraft_CS = list(range(4888, 4893))
df_adhoc_1_final = df_adhoc_1_final[~df_adhoc_1_final['AIRCRAFT'].isin([aircraft_CS])]
运行此代码时:
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)
}
运行依赖项报告后,我发现问题是由Spring Security REST插件的依赖引起的:(com.google.guava:guava-base:r03) - 使用相同的软件包名称“com.google .common.base“和Platform.class没有这样的方法systemNanoTime()
Caused by: java.lang.NoSuchMethodError: com.google.common.base.Platform.systemNanoTime()J
at com.google.common.base.LocalCache(Ticker.java:60)
at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:2827)
at com.google.common.cache.LocalCache.put(LocalCache.java:4149)
at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:4754)
at com.google.common.cache.Cache$put.call(Unknown Source)
有什么想法可以解决这个问题吗?
答案 0 :(得分:7)
第1步。请检查更新后的相关性(issue may be reported):
dependencies {
compile 'org.grails.plugins:spring-security-rest:2.0.0.RC1'
compile 'com.google.guava:guava:24.0-jre'
}
您可以查看spring-security-rest documentation和repo 并为番石榴documentation和repo
第2步。
compile("org.grails.plugins:spring-security-rest:2.0.0.RC1") {
excludes([group: 'com.google.guava:guava'])
}
build.gradle
中第3步。,您可以从JAR文件中排除已编译的类:
jar {
exclude "com/google/guava/**/**"
}
或者您可以参考grails documentation
答案 1 :(得分:3)
你试过吗?
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'
}
}
这将排除guava-base
与spring-security-rest
的传递依赖关系。