2017-10-18 81 views
0

案例卡夫卡的NoSuchMethodError上HDP平台

试图建立一些代码,需要卡夫卡库,会被部署到HDP平台。构建成功,但在运行时抱怨无法找到类。在HDP平台上查找Kafka版本会发现类似0.10.0.2.5.3.16-1的内容,对mvn的快速检查显示此版本不存在此类Kafka库。最近的版本是我正在使用的0.10.0.2.5.3.42-1

症状

运行时错误这不能不说类或方法无法找到,例如kafka.javaapi.consumer.SimpleConsumer.<init>(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)V

+1

请向我们展示您尝试的**实际代码**。 –

+1

您需要使用相同的版本进行编译和运行。否则奇怪的事情发生,像方法消失等。 – Kayaman

+0

@Kayaman你能看到特别的任何东西,这意味着运行时不同于正在构建? –

回答

0

原因

在HDP平台提供的服务为后缀的HDP版本,所以卡夫卡0.10.0.2.5.3.16-1实际上是卡夫卡版本0.10.0,挖掘进一步显示它的版本0.10.0.1。 HDP版本是2.5.3

解决方案

回落${kafka.version}在POM到工作的版本,我发现0.8.2.1为我工作。