반응형
java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
java 라이브러리 중 slf4j를 쓰려고 하다보면 이런 에러가 나타날 경우가 있다.
이 에러는 eclipse 와 같은 코딩 작성 프로그램에서 실행 시 나타나지 않는다.
검색을 해보면 아래와 같은 내용이 나온다.
When I run up my app in a standalone Jetty installation on my development machine (Windows / Cygwin) all is OK, but when I try to run it on my test machine (Ubuntu), I get..........
해석은 간단하다 windows 프로세스에서는 잘 된다는 거다.
그리고 더 검색해보면 한가지 더 나타난다.
충돌!
라이브러리 충돌이다.
보통 프로세스 작성 시 라이브러리는 이것저것 다 넣어놓고 작성한 경우가 있다.
(필요한 것만 넣어서 작성하는 것이 좋다는게 개인적인 생각.)
그 경우 slf4j 뿐 아니라 다른 로그 라이브러리도 추가 되면
linux 등 Console 형태로 실행 시 라이브러리가 충돌이 일어나면서
위와 같은 ClassCastException 이 나타나게 된다.
주의하자! 라이브러리를 무작정 넣지 않기를
'Study > Java' 카테고리의 다른 글
java file download 한글 깨짐 현상 해결 (0) | 2014.03.12 |
---|---|
jar 파일 내의 파일 경로 가져오기 (0) | 2014.03.11 |
java SWT browser javascript call and receive (0) | 2014.03.04 |
jdbc SQLException : Already close. (0) | 2013.11.18 |
[JAVA] Working Day JAVA Source(ICU LIBRARY 사용) (0) | 2013.03.13 |