Déjame adivinar: usted serializó (a través de la serialización incorporada de Java) una clase que contiene una ClassManifest
(de quien ClassTypeManifest
es un subtipo) a un archivo (o base de datos), luego actualizó su versión SCALA, y ahora está intentando deserializar ese archivo, ¿verdad? O está enviando un objeto serializado de un proceso JVM a otro, y ejecutan diferentes versiones de Scala.
Bueno, no lo hagas. La primera razón es que ClassTypeManifest
declara no explícito serialVersionUID
campo (ver ¿Qué es un serialversionuid y por qué debería usarlo?), que indica claramente que cualquier cambio a la clase podría cambiar el formato de serialización. Realmente no puedes esperar ninguna compatibilidad atrasada en ClassTypeManifest
Las corrientes serias. Además, en Scala 2.10. ClassManifest
Ni siquiera es una clase: es un mero alias para ClassTag
que es una clase significativamente diferente.
De verdad, no esperes poder serializar (usando la serialización de Java) a ClassManifest
Y leerlo de vuelta con otra versión de Scala.
Si realmente necesita usar la reflexión de Java, puede intentar reemplazar su ClassManifest
campos con java.lang.Class
campos (que siempre son seguros para serializar / deserializar).
De lo contrario, podría mirar con otras bibliotecas de serialización.