java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()'

주야·2024년 4월 5일

에러 종류



개발 환경

JDK 17 ,
Springboot 3.2 verion

해결방법 com.fasterxml.jackson.core:jackson-core:2.17.0 의존성 추가

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0'
	implementation 'com.fasterxml.jackson.core:jackson-core:2.17.0'
}

오류를 보다가 문득 느낌 상 Databind가 Core를 품고 있을 것 같은 느낌이 들어서
의존성 주입 부분에서 databind 주석처리하고 core만 넣고 다시 빌드해보니 문제 없이 잘 돌아감...

Chat GPT에 문의해보니 아래와 같이 답변을 해줌.

"Jackson Databind"는 "Jackson Core"에 종속될 수 있습니다. 그렇지만 "Jackson Databind"가 "Jackson Core"를 포함하고 있는 것은 아닙니다. 따라서 "Jackson Databind"를 사용할 때에는 "Jackson Core"도 별도로 명시해주어야 합니다.

버전 충돌로 인한 것으로 보입니다. "BufferRecycler.releaseToPool()" 메서드가 "Jackson Core"의 특정 버전에서는 존재하지만 사용하고 있는 버전에서는 존재하지 않는 것으로 보입니다. 이 경우에는 "Jackson Core"와 "Jackson Databind"의 버전을 맞추어 사용하거나, 둘 다 최신 버전으로 업그레이드하여 사용하는 방법이 있습니다.



요즘 정말 많이 느끼는거지만 버전충돌 에러가 정말 많이 난다... 세상에 쉬운게 없구만...
profile
개발자

0개의 댓글