2011-08-23 63 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的代码。

这告诉你你需要在不同版本之间切换。

相关问题