0

我开始遇到这个奇怪的错误;完全不确定是什么原因造成的——也许是 Maven 重建。我无法解释这种行为......有时它可以在 IntelliJ 中工作,有时不能,当我从 jar 文件运行它时它会失败。

这是运行时错误:

java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canScaleD()Lbreeze/linalg/operators/BinaryOp

它出现在这段代码中:

import breeze.linalg._
import breeze.linalg.DenseVector._
var planeNormal = DenseVector.zeros[Double](39)
weights.zip(vectors).foreach case(w: Double, vector: DenseVector[Double]) =>
    planeNormal :+= (vector :* w)
}

vector :* w函数调用中。

有人对可能出了什么问题有任何想法吗?

我怀疑它的版本不匹配,但不知道在哪里修复它;我正在使用这个微风数学包

<groupId>org.scalanlp</groupId>
<artifactId>breeze-math_2.10</artifactId>
<version>0.4</version>

和斯卡拉

<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
4

1 回答 1

1

您使用的是非常非常旧的 Breeze 版本。请使用 0.8.1(Artifact id 现在只是breeze_2.10)

于 2014-07-02T02:05:41.483 回答