背景:跑时间序列模型报错
环境:scala 2.11 + spark 2.0
报错:
java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()...
........
解决:
(1) 经查,同一个包的两个版本均存在,即breeze_2.10 和 breeze_2.11,但其中breeze_2.10被exclude掉
(2) 查breez_2.10,存在 canSetD()方法
(3) 查breez_2.11,不存在 canSetD()方法,如图
(4) 解决方法:修改pom.xml文件中exclusion项,改成 breez_2.11,如图:
(5) 检查 spark.xml文件,检查jar包,确定breez_2.11包消失
(6) mvn clean; mvn compile
(7) OK
PS:这个鬼错折腾了几天,记载下留于后人参考