我是Scala新手。但是,我創建了一箇中等大小的程序,其中包含Scala 2.9.0。現在我想使用一個開放源代碼庫,它僅適用於Scala 2.7.7。使用僅適用於舊版Scala版本的Scala庫
是不是可能在我的Scala 2.9.0程序中使用這個2.7.7庫?我該怎麼做?我已經看過了,但並沒有真正成功。有人有你好這個世界的例子?
我是Scala新手。但是,我創建了一箇中等大小的程序,其中包含Scala 2.9.0。現在我想使用一個開放源代碼庫,它僅適用於Scala 2.7.7。使用僅適用於舊版Scala版本的Scala庫
是不是可能在我的Scala 2.9.0程序中使用這個2.7.7庫?我該怎麼做?我已經看過了,但並沒有真正成功。有人有你好這個世界的例子?
原則上應該可以使用2.7.7 jar和自定義包裝器的自定義類加載器。但實際上,由於該庫是開源的,因此很可能在2.9下重新編譯並進行必要的更改是不太方便的。 (通常並不多。)
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團隊更加重視向後兼容性和遷移工具。 –
@Kipton Barros - 結構上的變化相當大,但是大多數端口最終都相當容易和機械化_unless_代碼擴展了一堆集合類。 –
Typesafe早期預覽了遷移管理器(http://typesafe.com/technology/migration-manager),該遷移管理器可以報告並解決二進制不兼容問題。顯然,早期預覽只報告不兼容性,但它可能值得一試。
最好的方法是使用維護庫或更新代碼。
如果您選擇第二個選項,請編譯標記爲-deprecation
和-Xmigration
的代碼。
這告訴你你需要在不同版本之間切換。
您正在使用哪個庫? – soc