Classloader Conflit, Différentes définitions de classe
-
11-12-2019 - |
Question
Utilisation du cadre de lecture 2.0.2, je rencontre un conflit de classier.On dirait qu'il y a deux définitions de la même classe dans différents chargeurs de classe.La console est exécutée, mais lorsque je publie la commande 'Run' ', jouer répond avec:
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
Quelqu'un a-t-il un bon endroit pour commencer à déboguer cela?Ou une idée pourquoi cela se produit?Il est clair que la classe est chargée par différents chargeurs, mais je ne connais pas la configuration de la lecture de la lecture.
J'ai installé Scala & SBT à l'aide du port
sbt @0.11.2_0 (active)
scala2.9 @2.9.2_0 (active)
Mon chemin a joué avant les fichiers binaires du port.
Utilisation 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)
Leopard de neige en cours d'exécution
La solution
Etepte du port SBT avait créé un répertoire ~ / .sbt et que la configuration est préférée.Supprimer / déplacer ce répertoire à quelque chose d'autre résout le problème.