Domanda

Usando il quadro PLAY 2.0.2, sto incontrando un conflitto di ClassLoader.Sembra che ci siano due definizioni della stessa classe in cardloader diversi.La console funziona, ma quando rilascio il comando "Esegui", riprodurre risponde 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
.

Qualcuno ha un buon posto per iniziare a debug di questo?O qualche idea del perché questo si sta verificando?Chiaramente la classe viene caricata da diversi caricatori, ma non ho familiarità con la configurazione del caricatore PLAY.

Ho installato Scala & SBT usando la porta

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

Il mio percorso ha giocato prima dei binari della porta.

Usando 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)
.

Running Snow Leopard

È stato utile?

Soluzione

si scopre che la porta SBT ha creato una directory ~ / .SBT e quella configurazione è preferita.Rimozione / spostamento di tale directory a qualcos'altro risolve il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top