2011-08-23 6 views
7

저는 스칼라를 처음 사용합니다. 그러나 나는 스칼라 2.9.0와 함께 중간 크기 프로그램을 만들었습니다. 이제 Scala 2.7.7에 대해서만 사용할 수있는 오픈 소스 라이브러리를 사용하고 싶습니다.이전 스칼라 버전에서만 사용 가능한 스칼라 라이브러리 사용

내 Scala 2.9.0 프로그램에서이 2.7.7 라이브러리를 사용하려면이 이 가능합니까? 내가 어떻게 해? 나는 이미 sbt를 보았지만 실제로 성공하지 못했습니다. 누군가 안녕하십니까?에 대한 예가 있습니까?

+0

어떤 라이브러리를 사용하고 있습니까? – soc

답변

8

기본적으로 2.7.7 jar 및 사용자 정의 래퍼에 대한 사용자 정의 클래스 로더를 사용할 수 있어야합니다. 그러나 실질적으로 라이브러리는 오픈 소스이므로 2.9로 다시 컴파일하고 필요한 변경 작업을 수행하는 것이 적을 것입니다. (보통은 많지 않습니다.)

+6

새로운 컬렉션 라이브러리와 같은 소스 비 호환성을 포함하여 2.7에서 2.8 사이의 몇 가지 큰 변화가있었습니다. 오픈 소스 라이브러리를 업데이트하기로 결정한 경우이 게시물은 유용한 가이드 일 수 있습니다. http://stackoverflow.com/questions/1243794/what-are-the-biggest-differences-between-scala-2-8-and- scala-2-7/2550803 # 2550803 앞으로 Scala 팀은 이전 버전과의 호환성 및 마이그레이션 도구에 중점을두고 있습니다. –

+0

@Kipton Barros - 구조적으로 변경 사항은 상당히 컸지 만 대부분의 포트는 매우 쉽고 기계적이지 못합니다. 코드가 많은 수의 콜렉션 클래스를 확장하지 않는 한. –

3

Typesafe는 바이너리 비 호환성을보고하고 해결하기 위해 약속 한 마이그레이션 관리자 (http://typesafe.com/technology/migration-manager)의 초기 미리보기를 제공합니다. 분명히 초기 미리보기는 비 호환성에 대해서만보고하지만 그만한 가치가있을 것입니다.

1

최상의 방법은 유지 관리 라이브러리를 사용하거나 코드를 업데이트하는 것입니다.

두 번째 옵션을 사용하는 경우 플래그 -deprecation-Xmigration을 사용하여 코드를 컴파일하십시오.

이것은 버전간에 변경해야 할 사항을 알려줍니다.