2011-08-23 6 views
7

Soy nuevo en Scala. Sin embargo, creé un programa de tamaño mediano con Scala 2.9.0. Ahora quiero utilizar una biblioteca de código abierto que solo está disponible para Scala 2.7.7.Uso de una biblioteca de Scala que solo está disponible para una versión anterior de Scala

¿Es posible para usar esta biblioteca 2.7.7 en mi programa Scala 2.9.0? ¿Cómo puedo hacerlo? Ya eché un vistazo a sbt pero no tuve éxito. ¿Alguien tiene un ejemplo de hello world para este?

+0

¿Qué biblioteca está utilizando? – soc

Respuesta

8

En principio, debería ser posible utilizar un cargador de clases personalizado para el contenedor 2.7.7 y envoltorios personalizados. Pero, en la práctica, dado que la biblioteca es de código abierto, es muy probable que sea menos trabajo recompilarla con 2.9 y realizar los cambios necesarios. (Generalmente no hay muchos.)

+6

Hubo algunos cambios bastante grandes entre 2.7 y 2.8, incluidas las incompatibilidades de origen como la nueva biblioteca de colecciones. Si elige actualizar la biblioteca de código abierto, esta publicación podría ser una guía útil: http://stackoverflow.com/questions/1243794/what-are-the-biggest-differences-between-scala-2-8-and- scala-2-7/2550803 # 2550803 De cara al futuro, el equipo de Scala está poniendo más énfasis en la compatibilidad con versiones anteriores y las herramientas de migración. –

+0

@Kipton Barros - Estructuralmente los cambios fueron bastante grandes, pero la mayoría de los puertos terminaron siendo bastante fáciles y mecánicos, a menos que el código extendiera un grupo de clases de colecciones. –

3

Typesafe tiene una vista previa anticipada de un administrador de migración (http://typesafe.com/technology/migration-manager) que promete informar y resolver las incompatibilidades binarias. Aparentemente, el primer avance solo informa sobre incompatibilidades, pero podría valer la pena intentarlo.

1

El mejor enfoque sería utilizar una biblioteca mantenida o actualizar el código.

Si toma la segunda opción, compile el código con los indicadores -deprecation y -Xmigration.

Esto le indica lo que necesita cambiar entre versiones.

Cuestiones relacionadas