Классический конфликт, разные определения классов
-
11-12-2019 - |
Вопрос
Использование Frame Play 2.0.2, я сталкиваюсь с конфликтом классов.Похоже, есть два определения одного класса в разных классах.Консоль работает, но когда я выдаю команду «RUN», играйте ответы:
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
.
У кого-нибудь есть хорошее место, чтобы начать отладить это?Или некоторую идею, почему это происходит?Очевидно, что класс загружается разными погрузчиками, но я не знаком с конфигурацией Play Loader.
У меня есть Scala & SBT, установленные с помощью порта
sbt @0.11.2_0 (active)
scala2.9 @2.9.2_0 (active)
.
Мой путь имеет игру перед портовыми дворами.
Использование 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)
.
Бег снежного леопарда
Решение
Оказывается, порт SBT создал каталог ~ / .sbt, и эта конфигурация предпочтительна.Удаление / перемещение этого каталога на что-то еще решает проблему.
Не связан с StackOverflow