반응형
공통 사용되는 기능을 라이브러리로 만들었다.
이 공통 기능을 모아둔 프로젝트의 pom.xml에는 log4j-api.jar를 선언하였고, 이를 이용하여 log를 남겼다.
ex) log.error("에러 발생");, log.debug("처리 완료");
하지만 다른 프로젝트에서 공통 라이브러리를 사용하니 로그를 남기는 부분에서 아래와 같은 에러가 발생하였다.
Servlet.service() for servlet [appServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.error(Ljava/lang/String;Ljava/lang/Object;)V] with root cause
java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.error(Ljava/lang/String;Ljava/lang/Object;)V
원인은 공통 라이브러리와 이를 사용하는 프로젝트의 log4j-api.jar 버전이 달랐기 때문!
(공통 라이브러리는 2.17.1버전을 사용 중이였고, 다른 프로젝트는 2.3.2를 사용 중이였음)
라이브러리 버전을 맞춰서 해결하였다.
728x90
반응형
'개발 > JAVA' 카테고리의 다른 글
[JAVA] Runnable 과 Thread의 차이 (0) | 2022.05.16 |
---|---|
[JAVA] 비동기 처리 방법 - Thread (0) | 2022.04.27 |
[JAVA] HttpClient 로그 남기기, 로그 레벨 제어하기 (0) | 2022.03.25 |
[JAVA] jackson -JsonInclude 속성 (null, empty등의 데이터 제외하기) (0) | 2022.03.11 |
[JAVA] The method getRealPath(String) from the type ServletRequest is deprecated (0) | 2022.03.11 |
댓글