Spark와 Scala를 사용할 때 이상한 오류가 발생합니다.변수를 선언 할 때 NoSuchMethodError
이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
을 실행할 때 종속성/버전 불일치 경고가 표시되지 않습니다.
이것은 거의 확실한 스칼라 버전 불일치입니다. v2.10과 v2.11에서 IntRef의 정의를 비교해 보면, 'create'는 후자의 버전에서만 도입되었다는 것을 알 수 있습니다 (https://github.com/scala/scala/blob/v2.10.4/ 참조). src/library/scala/runtime/IntRef.java 및 https://github.com/scala/scala/blob/v2.11.0/src/library/scala/runtime/IntRef.java). 당신은 당신의 의존성 중 일부가 스칼라 버전 <2.11.0에 대해 컴파일되었다는 것을 내기 할 수 있습니다. 당신은 전이 의존성을 검사하기 위해 sbt-dependency-graph (https://github.com/jrudolph/sbt-dependency-graph)를 시도하고 싶다. –
네가 옳았다. 레기 스. 스칼라 버전을 2.10.4로 변경하고 예상대로 작동하기 시작했습니다. 답변으로 의견을 말하면 받아 들일 것입니다. – tolgap