Carregador de classe em conflito, diferentes definições de classe
-
11-12-2019 - |
Pergunta
Usando a Jogar 2.0.2 quadro, tenho me deparado com um carregador de classe em conflito.Parece que há duas definições de mesma classe em diferentes classloaders.O console é executado, mas quando eu emitir o "executar" do comando, jogo responde com:
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
Alguém tem um bom lugar para iniciar a depuração isso?Ou alguma idéia de por que isso está ocorrendo?Claramente, a classe está sendo carregado por diferentes carregadores, mas eu não estou familiarizado com o jogo configuração do carregador.
Eu tenho scala & sbt instalado usando a porta
sbt @0.11.2_0 (active)
scala2.9 @2.9.2_0 (active)
Meu CAMINHO tem de jogar antes que a porta binários.
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)
Executar O Snow Leopard
Solução
Acontece que a porta sbt tinha criado um ~/.sbt directory e que configuração é o preferido.Remoção / mover essa pasta para outra coisa resolve o problema.