我正在构建一个较旧的 kafka (0.8.2.2),并且收到有关缺少 java 类的运行时错误:
java.lang.NoClassDefFoundError: org/apache/kafka/common/KafkaException
当我查看libs/kafka_2.10-0.8.2.2.jar时,我看到kafka/common/KafkaException的存在:
$ jar tf $CLASSPATH | grep KafkaException
kafka/common/KafkaException.class
因此,构建(gradlew jar
)构造了类,在类路径的开头缺少org/apache
。 如何修复路径?
不能在Java 类前面附加路径。路径必须与包名称相对应。在你的例子中,类kafka.common.KafkaException
在libs/kafka_2.10-0.8.2.2.2中找到.jarorg.apache.kafka.common.KafkaException
在libs/kafka-clients-0.8.2.2.jar中找到。
还必须在类路径中包含 libs/kafka-clients-0.8.2.2.jar。