报错: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 包或者更改环境变量里面的路径即可。