gradle kafka storm Spout 的应用程序插件和缺少类路径
gradle application plugin and missing classpath for kafka storm Spout
我正在尝试将应用程序插件用于 运行 Kafka-Storm 拓扑。
这是我的 build.gradle
:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = "Library"
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.13',
'org.apache.storm:storm-core:0.10.0',
'org.apache.storm:storm-kafka:0.10.0'
testCompile 'junit:junit:4.12'
}
当我启动 ./gradlew run
时,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: kafka/api/OffsetRequest
at storm.kafka.KafkaConfig.<init>(KafkaConfig.java:43)
at storm.kafka.SpoutConfig.<init>(SpoutConfig.java:40)
at Library.main(Library.java:21)
Caused by: java.lang.ClassNotFoundException: kafka.api.OffsetRequest
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
我是否以错误的方式配置了 application
插件?
此失败表明缺少依赖项。
也许将 compile 'org.apache.kafka:kafka_2.10:0.8.2.2'
添加到您的 dependencies {}
块将帮助您取得进步。
请注意,确切的 kafka 可能会有所不同,具体取决于您使用的 Kafka 等版本 运行。
如果想排除传递依赖,可以将上面的compile...
语句改成:
dependencies {
compile('org.apache.kafka:kafka_2.10:0.8.2.2') {
// transitive = false // No transitive dependencies
exclude group: 'foo' // Exclude specific dependencies
}
}
见https://docs.gradle.org/current/userguide/dependency_management.html
我正在尝试将应用程序插件用于 运行 Kafka-Storm 拓扑。
这是我的 build.gradle
:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = "Library"
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.13',
'org.apache.storm:storm-core:0.10.0',
'org.apache.storm:storm-kafka:0.10.0'
testCompile 'junit:junit:4.12'
}
当我启动 ./gradlew run
时,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: kafka/api/OffsetRequest
at storm.kafka.KafkaConfig.<init>(KafkaConfig.java:43)
at storm.kafka.SpoutConfig.<init>(SpoutConfig.java:40)
at Library.main(Library.java:21)
Caused by: java.lang.ClassNotFoundException: kafka.api.OffsetRequest
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
我是否以错误的方式配置了 application
插件?
此失败表明缺少依赖项。
也许将 compile 'org.apache.kafka:kafka_2.10:0.8.2.2'
添加到您的 dependencies {}
块将帮助您取得进步。
请注意,确切的 kafka 可能会有所不同,具体取决于您使用的 Kafka 等版本 运行。
如果想排除传递依赖,可以将上面的compile...
语句改成:
dependencies {
compile('org.apache.kafka:kafka_2.10:0.8.2.2') {
// transitive = false // No transitive dependencies
exclude group: 'foo' // Exclude specific dependencies
}
}
见https://docs.gradle.org/current/userguide/dependency_management.html