【问题标题】:NoSuchMethodError when declaring a variable声明变量时出现 NoSuchMethodError
【发布时间】:2015-01-13 15:16:13
【问题描述】:

我在使用 Spark 和 Scala 时遇到了一个奇怪的错误。我有一段代码声明了一个变量:

var offset = 0

这会导致以下异常:

java.lang.NoSuchMethodError: scala.runtime.IntRef.create(I)Lscala/runtime/IntRef;
   at my.package.MyClass$class.myMethod(MyClass.scala:5)
   ...

而且它直接指向变量声明。我正在使用 Scala 2.11.2。编译作品。这是一个运行时错误。在运行 sbt package 时,我也没有收到任何依赖项/版本不匹配警告。

【问题讨论】:

标签: scala exception


【解决方案1】:

这几乎可以肯定是 scala 版本不匹配。 对比 v2.10 和 v2.11 中 IntRef 的定义,可以看到 create 只在后一个版本中引入(见 https://github.com/scala/scala/blob/v2.10.4/src/library/scala/runtime/IntRef.javahttps://github.com/scala/scala/blob/v2.11.0/src/library/scala/runtime/IntRef.java)。 您可以打赌,您的一些依赖项是针对 https://github.com/jrudolph/sbt-dependency-graph) 来检查您的传递依赖关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 2023-02-05
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多