전자정부 프레임워크 프로젝트내 elasticsearch 모듈 추가
- 작성자 :
- 조*길
- 작성일 :
- 2020-07-15 16:47:14
- 조회수 :
- 3,268
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요
전자정부프레임워크 3.5버전을 이용해 개발된 프로젝트에
elasticsearch를 추가하려 하는데,
pom.xml 내 elasticsearch 관련 디펜던시를 추가 시
심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:42)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4699)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.ReflectionUtil
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1360)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1182)
... 18 more
위와 같은 에러가 발생하며 서버가 구동되지 않고 있어 질문을 드립니다.
추가한 elasticsearch 관련 디펜던시를 제거할 경우 정상 동작하지만, 해당 디펜던시를 추가할 경우 에러가 발생하고 있습니다.
https://www.egovframe.go.kr/uss/olh/qna/QnaInqireCoUpdt.do?qaId=QA_00000000000016979&passwordConfirmAt=
질문을 확인 결과 elasticsearch의 log4j와, 전자정부프레임워크의 log4j의 버전이 달라 발생되는 이슈로 추정되고 있는데,
이에 대한 해결방안을 혹시 알 수 있을까요?
전자정부프레임워크 3.5버전을 이용해 개발된 프로젝트에
elasticsearch를 추가하려 하는데,
pom.xml 내 elasticsearch 관련 디펜던시를 추가 시
심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:42)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4699)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.ReflectionUtil
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1360)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1182)
... 18 more
위와 같은 에러가 발생하며 서버가 구동되지 않고 있어 질문을 드립니다.
추가한 elasticsearch 관련 디펜던시를 제거할 경우 정상 동작하지만, 해당 디펜던시를 추가할 경우 에러가 발생하고 있습니다.
https://www.egovframe.go.kr/uss/olh/qna/QnaInqireCoUpdt.do?qaId=QA_00000000000016979&passwordConfirmAt=
질문을 확인 결과 elasticsearch의 log4j와, 전자정부프레임워크의 log4j의 버전이 달라 발생되는 이슈로 추정되고 있는데,
이에 대한 해결방안을 혹시 알 수 있을까요?
A
안녕하세요.
표준프레임워크센터 입니다.
elasticsearch 관련하여
가이드해 드리는 사항은 없습니다.
동일한 라이브러리에 참조관계가 있다보니
문제가 되는것으로 보이는데
exclude처리 하여 충돌문제를 해결해야 할것으로 보입니다.
현재 실행환경 구성요소는 다음과 같습니다.
https://www.egovframe.go.kr/EgovOSS.jsp?menu=1&submenu=2&leftsub=3
감사합니다.
표준프레임워크센터 입니다.
elasticsearch 관련하여
가이드해 드리는 사항은 없습니다.
동일한 라이브러리에 참조관계가 있다보니
문제가 되는것으로 보이는데
exclude처리 하여 충돌문제를 해결해야 할것으로 보입니다.
현재 실행환경 구성요소는 다음과 같습니다.
https://www.egovframe.go.kr/EgovOSS.jsp?menu=1&submenu=2&leftsub=3
감사합니다.