Pregunta

Usando el marco Play 2.0.2, me encuentro con un conflicto de Classloader.Parece que hay dos definiciones de la misma clase en diferentes gestores de clases.La consola se ejecuta, pero cuando emite el comando 'Ejecutar', el juego responde con:

java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "play.api.PlayException.cause()Lscala/Option;" 
the class loader (instance of sbt/PlayCommands$$anonfun$61$$anonfun$63$$anon$2) of the current class, play/api/PlayException, 
and the class loader (instance of java/net/URLClassLoader) for interface
play/api/PlayException$UsefulException have different Class objects for the 
type scala/Option used in the signature

¿Alguien tiene un buen lugar para comenzar a depurar esto?¿O alguna idea de por qué esto está ocurriendo?Claramente, la clase está siendo cargada por diferentes cargadores, pero no estoy familiarizado con la configuración de Play Carger.

Tengo instalada SCALA & SBT utilizando el puerto

sbt @0.11.2_0 (active)
scala2.9 @2.9.2_0 (active)

Mi camino ha jugado antes de los binarios del puerto.

utilizando java

java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-10M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

Ejecutar el leopardo de la nieve

¿Fue útil?

Solución

Resulta que el puerto SBT había creado un directorio ~ / .SBT y esa configuración se prefiere.Eliminar / mover ese directorio a otra cosa resuelve el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top