slf4j 오류 관련
- 작성자 :
- 장*익
- 작성일 :
- 2014-10-08 09:08:46
- 조회수 :
- 4,982
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
처음 설정 때는 아무런 문제가 없다가 어느정도 코딩을 진행하다 보니 다음과 같은 오류가 발생합니다.
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:159)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
어떻게 해결해야 하는지 부탁드립니다.
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:159)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
어떻게 해결해야 하는지 부탁드립니다.
A
안녕하세요. 장상익님.
새롭게 추가하신 dependency 상에 다른 버전의 slf4j가 포함되신 경우 같습니다.
이 경우 pom.xml 상에 다음과 같이 SLF4J + Log4j 2 depdency를 추가해 보시면 되실 것 같습니다.
<!-- Logging -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0</version>
</dependency>
<!-- Log4j2 SLF4J Bridge -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0</version>
</dependency>
혹 표준프레임워크 3.0 또는 3.1이 아니신 경우라면 slf4j에 대한 버전을 pom.xml 상에 정의하시면 되십니다. (직접 지정하시면 다른 dependency에 의해 참조되는 버전들은 무시됩니다.)
그럼, 즐거운 하루되십시오.
감사합니다.
새롭게 추가하신 dependency 상에 다른 버전의 slf4j가 포함되신 경우 같습니다.
이 경우 pom.xml 상에 다음과 같이 SLF4J + Log4j 2 depdency를 추가해 보시면 되실 것 같습니다.
<!-- Logging -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0</version>
</dependency>
<!-- Log4j2 SLF4J Bridge -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0</version>
</dependency>
혹 표준프레임워크 3.0 또는 3.1이 아니신 경우라면 slf4j에 대한 버전을 pom.xml 상에 정의하시면 되십니다. (직접 지정하시면 다른 dependency에 의해 참조되는 버전들은 무시됩니다.)
그럼, 즐거운 하루되십시오.
감사합니다.