我使用Kotlin作为构建脚本DSL从gradle init --type java-application
开始了Gradle项目,我只想添加org.apache.kafka
库
dependencies {
// This dependency is used by the application.
implementation("com.google.guava:guava:28.0-jre")
implementation("org.apache.kafka:kafka_2.10:0.8.0")
// Use JUnit test framework
testImplementation("junit:junit:4.12")
}
但是
gradle build
返回了以下内容:* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
> Could not find jmxtools.jar (com.sun.jdmk:jmxtools:1.2.1).
Searched in the following locations:
https://jcenter.bintray.com/com/sun/jdmk/jmxtools/1.2.1/jmxtools-1.2.1.jar
> Could not find jmxri.jar (com.sun.jmx:jmxri:1.2.1).
Searched in the following locations:
https://jcenter.bintray.com/com/sun/jmx/jmxri/1.2.1/jmxri-1.2.1.jar
什么事啊与JCenter冲突?
最佳答案
正如评论中已经提到的,升级kafka版本将解决此问题(问题转到@ cricket_007)。
该问题的根本原因实际上不是kafka本身,而是版本1.2.15中的可传递依赖项log4j。此log4j版本需要jmxtools和jmxri。由于某些许可问题,这些 Artifact 在Maven Central和Jcenter上不可用。好消息是:您很可能根本不需要它。您只需覆盖log4j依赖关系以使用1.2.16(或更高版本)或排除jmxtools和jmxri。
您还可以在此博客文章中找到更多见解:http://unitstep.net/blog/2009/05/18/resolving-log4j-1215-dependency-problems-in-maven-using-exclusions/
因此,有3种方法可以解决此问题:
希望能帮助并使事情变得更清楚
关于gradle - 使用Gradle将org.apache.kafka添加到依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59125102/