2011-08-23 99 views
7

我是Scala新手。但是,我創建了一箇中等大小的程序,其中包含Scala 2.9.0。現在我想使用一個開放源代碼庫,它僅適用於Scala 2.7.7使用僅適用於舊版Scala版本的Scala庫

是不是可能在我的Scala 2.9.0程序中使用這個2.7.7庫?我該怎麼做?我已經看過了,但並沒有真正成功。有人有你好這個世界的例子

+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 - 結構上的變化相當大,但是大多數端口最終都相當容易和機械化_unless_代碼擴展了一堆集合類。 –

3

Typesafe早期預覽了遷移管理器(http://typesafe.com/technology/migration-manager),該遷移管理器可以報告並解決二進制不兼容問題。顯然,早期預覽只報告不兼容性,但它可能值得一試。

1

最好的方法是使用維護庫或更新代碼。

如果您選擇第二個選項,請編譯標記爲-deprecation-Xmigration的代碼。

這告訴你你需要在不同版本之間切換。

相關問題