본문 바로가기
Framework/Spring

No converter found for return value of type: class java.util.HashMap 에러 해결방법

by 나비와꽃기린 2019. 1. 22.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



Weblogic 서버에 배치했던 어플리케이션 (동작 이상 없었음) 을

Tomcat에 배치하고 서버를 기동하니 다음과 같은 에러가 났다.


java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.HashMap



Log를 찍어보니 DB에서 Data는 잘 가져오긴 하는데

Controller에서 View단으로 데이터를 보내지 못한다.

찾아보니 @ResponseBodyData json형식으로 담지 못하는 거란다.

(Converter에서 문제라는거 ?;; ) 아주아주 정확한 이유는 잘 모르겠다.ㅠㅠ


에러를 해결하기위해 이것저것 찾다보니

Jackson을 추가하란다

이미 추가되어 있었던가 ? 추가해서 다시배포해 보았던가 했는데 안됨... --> jackson-databind.jar

그럼 문제가 무엇일까 하다가…. 삽질한마당



아래와 같은 말을 발견했다.


스프링에서 HttpMessageConverter 사용할 객체를 자동으로 찾지 못해서 발생한다.
jackson
ObjectMapper 객체나 Gson Gson 객체가 있으면 스프링 4 이상에서는 자동으로 Jackson2MessageConverter 또는 GsonMessageConverter 설정한다
.

 

(https://m.blog.naver.com/PostView.nhn?blogId=bestheroz&logNo=221327070201&proxyReferer=https%3A%2F%2Fwww.google.com%2F) 여기를 참고했다.




gson lib다운로드받아서

어플리케이션 lib에 넣어주니

화면까진 오고! 에러도 사라졌다.

기존에 Weblogic WAS를 사용하던 때에는

WAS 자체 라이브러리패스에 관련 라이브러리가 있었던걸까나 ?




 < No converter found for return value of type 해결방법 >

1.  jackson-databind.jar

2.  gson.jar


해당 jar들을 다운로드 받아

어플리케이션 lib 경로에 넣어주기 !!