ClassLoader 충돌, 다른 클래스 정의
-
11-12-2019 - |
문제
재생 2.0.2 프레임 워크를 사용하여 클래스 로더 충돌이 발생합니다.다른 클래스 로더에 동일한 클래스의 두 가지 정의가있는 것처럼 보입니다.콘솔이 실행되지만 '실행'명령을 실행하면 다음과 같이 응답합니다.
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
.
누구든지 디버깅을 시작할 수있는 좋은 장소가 있습니까?또는 왜 이것이 발생하는지 어떤 아이디어?분명히 클래스는 다른 로더가로드 중이지만 플레이 로더 구성에 익숙하지 않습니다.
포트 를 사용하여 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