我正在使用Dropwizard和Titan DB开发一个项目。两者都依赖于Google Guava,但其中一个依赖于版本15,另一个依赖于版本18。在运行时会出现以下错误:
我研究了这个错误并发现,它是由Titan的Guava 15.0依赖被Guava 18.0替换导致的。
我对Java和Gradle不太了解。我正在使用Gradle的
这是我的
! java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class com.thinkaurelius.titan.graphdb.database.idassigner.StandardIDPool$ID
BlockRunnable
我研究了这个错误并发现,它是由Titan的Guava 15.0依赖被Guava 18.0替换导致的。
我对Java和Gradle不太了解。我正在使用Gradle的
java
和application
插件来构建和运行主类,使用gradle run
命令。我该如何解决这个问题?
这是我的
build.gradle
文件:apply plugin: 'java'
apply plugin: 'application'
mainClassName = "com.example.rest.App"
repositories {
mavenCentral()
}
dependencies {
compile (
[group: 'io.dropwizard', name: 'dropwizard-core', version: '0.8.0-rc1'],
[group: 'com.thinkaurelius.titan', name: 'titan-core', version: '0.5.1'],
[group: 'com.thinkaurelius.titan', name: 'titan-berkeleyje', version: '0.5.1'],
[group: 'com.tinkerpop', name: 'frames', version: '2.6.0']
)
testCompile group: 'junit', name: 'junit', version: '3.8.1'
}
run {
if ( project.hasProperty("appArgs") ) {
args Eval.me(appArgs)
}
}
build.gradle
文件吗? - fge