I'm running into a weird error when using Spark and Scala. I have a piece of code that declares a variable:
var offset = 0
This causes the following exception:
java.lang.NoSuchMethodError: scala.runtime.IntRef.create(I)Lscala/runtime/IntRef;
at my.package.MyClass$class.myMethod(MyClass.scala:5)
...
And it points directly at the variable declaration. I am using Scala 2.11.2. Compiling works. This is a runtime error. I do not get any dependency/version mismatch warnings when running sbt package
either.
This is almost certainly a scala version mismatch.
Comparing the definition of IntRef in v2.10 and v2.11, you can see that create
was only introduced in the latter version (see https://github.com/scala/scala/blob/v2.10.4/src/library/scala/runtime/IntRef.java and https://github.com/scala/scala/blob/v2.11.0/src/library/scala/runtime/IntRef.java).
You can bet that some of your dependencies was compiled against a scala version < 2.11.0.
You might want to try sbt-dependency-graph (https://github.com/jrudolph/sbt-dependency-graph) to check your transitive dependencies.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With