2012-06-28 10 views
1

그래서 2.8.2로 build.sbt에 나열된 Scala에 대한 종속성이있는 그래프 라이브러리를 사용하고 있습니다. 나는 스칼라 2.9.2로 변경 시도하고 그것을 잘 컴파일,하지만 런타임 오류가있어 : 또한 오류의 혼란의 줄 번호를 나열Scala 2.8.1 => 2.9.2 RangeByOne NoSuchMethod 오류

[error] (run-main) java.lang.NoSuchMethodError: scala.runtime.RichInt.until(I)Lscala/collection/immutable/Range$ByOne; 
java.lang.NoSuchMethodError: scala.runtime.RichInt.until(I)Lscala/collection/immutable/Range$ByOne; 

을, 나는 코드의 라인 등으로 그것을 추적 :

for (i <- 0 to x) 

나는 to 방법이 있나요 스칼라 2.9.2 확신 ... 내가 무엇을 놓치고?

감사합니다.

+0

런타임에'x'가'java.runtime.RichInt'에 내재되어 있습니다. 따라서 오류가 발생했습니다. 지금이 문제가 발생했습니다 ... –

답변

2

2.9.x로 컴파일 된 코드로 2.8.x 용으로 컴파일 된 라이브러리를 사용하고있는 것처럼 보입니다. 그렇게하는 것은 불가능합니다.

확인 편집, 나는 Cassovary을 체크 아웃하고 난 당신이 사양에 대한 스칼라 버전을 변경하지 않은 상상. 어떤 버전이 사용 가능한지 확인한 결과,이 라인을 다음과 같이 변경하는 것이 좋습니다.

libraryDependencies += "org.scala-tools.testing" % "specs_2.9.1" % "1.6.9" % "test" withSources() 
+0

GitHub에서 라이브러리의 소스 코드 자체를 포크했고 간단히 build.sbt를 2.8.1 대신 2.9.2로 변경했습니다. 이것은 내 자신의 프로젝트에서 라이브러리의 .jar 파일로 수행되지 않았습니다. . 아니면 그 중 하나를 할 수 있습니까? – adelbertc

+0

@kstruct 나는 네가 한 일을 정확히 모르겠다. 프로젝트에 sbt 빌드 파일을 제공 할 수 있습니까? 귀하의 프로젝트에 오류가 있다고 가정합니까? 아니면 그 도서관에요? –

+0

라이브러리입니다. 그것은 트위터의 Cassovary 라이브러리 https://github.com/twitter/cassovary를 사용하고 있습니다. 나는 repo를 fork하고,'build.sbt'를 수정하여 스칼라 버전 2.9.2를 만들었고 위의 오류를 준다. 특히, 내가 그것을 변경 한 후에'sbt test' 명령을 실행하면, 위와 같은 오류를주는 많은 테스트가 실패합니다. – adelbertc