slf4j-log4j12.jar 때문에 StackOverflowError 가 납니다.
- 작성자 :
- 이*철
- 작성일 :
- 2017-02-22 16:01:27
- 조회수 :
- 1,986
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
pom.xml 첨부했습니다.
개발툴은 IntelliJ 를 쓰고 있으며 개발모드에서 톰캣을 실행하면 잘 실행이 됩니다.
그런데 리눅스서버에 war 를 배포하여 실행하면
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
에러가 납니다.
이것저것 삽질하다가 war 파일에서 slf4j-log4j12-1.7.21.jar 를 강제로 빼고 실행해보니 오류가 안나고 잘 실행이 되더군요.
그런데 소스를 수정하고 배포할때마다 war 에서 저 jar 파일을 찾아서 제거하는건 정말 여간 귀찮은 일이 아니더군요.
위 오류가 안나게 pom.xml 을 수정하고 싶은데 도데체 어느 dependency 에 exclusion 을 걸어줘야 할지 찾지를 못하겠습니다.
pom.xml 을 첨부했으니, 오류 안나게 pom.xml 수정하는 방법 좀 알려주세요~~ 부탁드립니다~~
개발툴은 IntelliJ 를 쓰고 있으며 개발모드에서 톰캣을 실행하면 잘 실행이 됩니다.
그런데 리눅스서버에 war 를 배포하여 실행하면
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
에러가 납니다.
이것저것 삽질하다가 war 파일에서 slf4j-log4j12-1.7.21.jar 를 강제로 빼고 실행해보니 오류가 안나고 잘 실행이 되더군요.
그런데 소스를 수정하고 배포할때마다 war 에서 저 jar 파일을 찾아서 제거하는건 정말 여간 귀찮은 일이 아니더군요.
위 오류가 안나게 pom.xml 을 수정하고 싶은데 도데체 어느 dependency 에 exclusion 을 걸어줘야 할지 찾지를 못하겠습니다.
pom.xml 을 첨부했으니, 오류 안나게 pom.xml 수정하는 방법 좀 알려주세요~~ 부탁드립니다~~
A
안녕하십니까 이재철님, 표준프레임워크 센터입니다.
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
에러를 처리하기 위해서 문의를 주셨습니다.
위와 같은 문제를 처리하기 위한 방법은
먼저 eclipse 프로젝트내에서 pom.xml 파일을 클릭하신 후 Dependency Hierarchy(의존 상속관계)를 누르십니다.
관련된 라이브러리가 상속되어있는 Dependency를 찾으셔서 pom.xml 소스에서
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
위와 같이 관련된 dependcy쪽에 exclusion을 해주시면 됩니다.
그럼 좋은 하루 되시기 바랍니다.
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
에러를 처리하기 위해서 문의를 주셨습니다.
위와 같은 문제를 처리하기 위한 방법은
먼저 eclipse 프로젝트내에서 pom.xml 파일을 클릭하신 후 Dependency Hierarchy(의존 상속관계)를 누르십니다.
관련된 라이브러리가 상속되어있는 Dependency를 찾으셔서 pom.xml 소스에서
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
위와 같이 관련된 dependcy쪽에 exclusion을 해주시면 됩니다.
그럼 좋은 하루 되시기 바랍니다.