java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()

背景:跑时间序列模型报错

环境:scala 2.11 + spark 2.0

报错:

java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()...

........

解决:

(1) 经查,同一个包的两个版本均存在,即breeze_2.10 和 breeze_2.11,但其中breeze_2.10被exclude掉

java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()_第1张图片

java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()_第2张图片

(2) 查breez_2.10,存在 canSetD()方法

java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()_第3张图片

(3) 查breez_2.11,不存在 canSetD()方法,如图

java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()_第4张图片

(4) 解决方法:修改pom.xml文件中exclusion项,改成 breez_2.11,如图:

java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()_第5张图片

(5) 检查 spark.xml文件,检查jar包,确定breez_2.11包消失

(6) mvn clean; mvn compile

(7) OK


PS:这个鬼错折腾了几天,记载下留于后人参考



你可能感兴趣的:(scala)