2011-08-23 10 views
7

Jestem nowy w Scala. Jednak stworzyłem program średniej wielkości z Scala 2.9.0. Teraz chcę użyć biblioteki open source, która jest dostępna tylko dla Scala 2.7.7.Używanie biblioteki Scala, która jest dostępna tylko dla starszej wersji Scala

Czy jest to możliwe używać tej biblioteki 2.7.7 w moim programie Scala 2.9.0? Jak mogę to zrobić? Miałem już spojrzenie na sbt, ale tak naprawdę nie udało mi się. Czy ktoś na przykład jest przykładem dla tego?

+0

Jakiej biblioteki używasz? – soc

Odpowiedz

8

Zasadniczo powinno być możliwe użycie niestandardowego programu ładującego klasy dla słoja 2.7.7 i niestandardowych opakowań. Ale praktycznie, ponieważ biblioteka jest open source, jest bardzo prawdopodobne, że byłoby mniej pracy, aby przekompilować ją z wersją 2.9 i wprowadzić wymagane zmiany. (Zazwyczaj nie ma ich zbyt wiele.)

+6

Wystąpiły dość duże zmiany między 2,7 ​​i 2,8, w tym niekompatybilności źródeł, takich jak nowa biblioteka kolekcji. Jeśli wybierzesz aktualizację biblioteki open source, ten post może być pomocnym przewodnikiem: http://stackoverflow.com/questions/1243794/what-are-the-biggest-differences-between-scala-2-8-and- scala-2-7/2550803 # 2550803 W przyszłości zespół Scala kładzie większy nacisk na wsteczną kompatybilność i narzędzia migracji. –

+0

@Kipton Barros - Strukturalnie zmiany były dość duże, ale większość portów okazała się dość łatwa i mechaniczna - bez _ kod rozszerzony o kilka klas kolekcji. –

3

Typesafe ma wczesny podgląd menedżera migracji (http://typesafe.com/technology/migration-manager), który obiecuje zgłosić i rozwiązać niezgodności binarne. Wygląda na to, że wczesny podgląd zawiera tylko informacje o niezgodnościach, ale może warto spróbować.

1

Najlepszym rozwiązaniem byłoby użycie biblioteki konserwowanej lub zaktualizowanie kodu.

Jeśli wybierzesz drugą opcję, skompiluj kod flagami -deprecation i -Xmigration.

To pokazuje, co należy zmienić między wersjami.

Powiązane problemy