报错:java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc()

1. 报错现象:

启动 kafka 的时候启动失败,并且会报告下面的错误:

java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;

报错原因:

产生这个错误的原因有两个:

一是,没有包含 scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object 这个的 jar 包,所以找不到;

二是,有两个包含 scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Objec 的 tjar 包,产生了冲突,不知道找哪一个;

第一种原因发生的几率很小,如果发生就是 kafka 安装的时候出现了错误,所以大部分时候都是第二种原因。

说一下我造成错误的原因:

我自己上传了一个 jar 包,里面包含了这个冲突的方法,而且存放这个 jar 的路径被配到了环境变量里面,kafka 启动的时候就自动寻找到里面的方法,所以造成了错误。

解决方案:

删掉 jar 包或者更改环境变量里面的路径即可。