Java slf4j版本不兼容

Java slf4j版本不兼容,java,gradle,reflection,slf4j,Java,Gradle,Reflection,Slf4j,我试图在我的项目中使用org.reflections库。我正在将其添加到gradle依赖项列表中,但当我运行代码时,我得到以下信息: SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding. SLF4J: Your binding is version 1.5.5 or earlier. SLF4J: Upgrade your binding to version 1.6.x. java.lang.NoSuchMe

我试图在我的项目中使用org.reflections库。我正在将其添加到gradle依赖项列表中,但当我运行代码时,我得到以下信息:

SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.
SLF4J: Your binding is version 1.5.5 or earlier.
SLF4J: Upgrade your binding to version 1.6.x.

java.lang.NoSuchMethodError:  org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;
我理解这是因为我的一个依赖项在内部使用了更高版本的slf4j,该版本与org.reflections使用的版本不兼容

我看到一个建议,要确保最后包含旧版本的jar。我如何在Gradle做到这一点,或者是否有其他解决方案H

请尝试以下方法:

compile (group: 'org.reflections', name: 'reflections', version: '0.9.10'){
    exclude group : "org.slf4j"
}

将slf4j从org.reflections依赖项中排除。

为什么不包括较新的版本呢?据我所知,org.reflections jar使用的是较旧的版本。我的项目及其依赖项正在使用新版本如果我这样做,我会看到一个错误,intellij没有看到org.reflections.reflections PackageMM,wired它应该只排除slf4jI。我不确定发生了什么,我在作为依赖项导入的项目中添加了您的代码,现在它可以工作了。如果我直接在项目中添加它,它不会看到包。知道为什么吗?无论如何,我都会同意这个答案