我有一个带有kotlin dsl的多模块gradle项目,称为流数据处理。它在github https://ibb.co/ThFjnMz中。
根项目的build.gradle.kts
文件是-
plugins {
base
java
}
allprojects {
group = "streams-data-processing"
version = "1.0"
repositories {
jcenter()
mavenCentral()
mavenLocal()
}
dependencies {
subprojects.forEach {
compile("org.apache.kafka:kafka-streams:2.2.0")
testImplementation("junit:junit:4.12")
}
}
}
settings.gradle.kts
是-
rootProject.name = "stream-data-processing"
include ("word-count-demo")
我有一个名为word-count-demo
的子项目。
此子项目的build.gradle.kts
文件是-
plugins {
java
application
}
但是kafka-streams
中的类在word-count-demo
中不可用。
当我执行`gradle word-count-demo:dependencies'时,它没有显示可用于子项目的kafka依赖项。
我不想在每个项目中明确指定依赖项。
这里出了什么问题?
答案 0 :(得分:0)
看来这将多次添加相同的依赖项。我认为您需要将其翻转,然后在dependencies
内部调用subprojects
,然后在allprojects
的外部中调用,就像这样:
allprojects {
group ...
version ...
repositories ...
}
subprojects {
dependencies {
compile("org.apache.kafka:kafka-streams:2.2.0")
testImplementation("junit:junit:4.12")
}
}