[Servlet/Ajax]NoClassDefFoundError 해결 방법[Eclipse]
3785 단어 ObjectMapper이클립스아약스Jackson자바
Servlet과 Ajax를 사용하여 비동기 통신 할 수있는 웹 앱을 만들고 있습니다.
에러 해결에 조금 시간이 걸렸기 때문에 기록을 남깁니다.
개발 환경
에디터:Eclipse 2019-03 (4.11.0)
웹 서버: Apache Tomcat v9.0
언어: Java
도서관:
・jquery-3.4.1.min.js
·jackson-annotations-2.9.9.jar
··jackson-core-2.9.9.jar
·jackson-databind-2.9.9.jar
오류 내용
Servlet에서 ajax로 응답을 반환하려고하면 HTTP 상태 500 – Internal Server Error가 발생합니다.
Chrome 개발자 도구 'console' 탭
「500 에러는 뭐야?!」가 되어, 완야 완야와 조금 시간을 망쳐 버렸습니다만,
오류를 클릭하면 예외 보고서를 발견.
"근본 원인
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
어라? ObjectMapper를 정의하는 파일은 가져올 것입니다 ....
그렇게 생각하면서 Eclipse를 여러가지 검토하고 있으면 「문제」탭에서 이하의 경고를 발견.
어쨌든 클래스 경로에 추가해야하는 jackson-XXXXXX-2.9.9.jar 파일이 참조되지 않았을 수도 있습니다 ...?
원인
ObjectMapper(Jackson의 클래스)가 정의되고 있는 파일(jackson-XXXXXX-2.9.9.jar)을 참조할 수 없고, java.lang.NoClassDefFoundError가 되고 있기 (위해)때문에.
※ Jackson이란… Java용의 JSON 파서 라이브러리의 1개. Java 객체와 JSON의 상호 변환이 가능하다.
따라서 "eclipse 클래스 경로 항목은 내보내거나 게시되지 않습니다."에서 구그 해 보았을 때, 다음 페이지를 보고 해결할 수 있었습니다.
htps // 코데다 y. / jp / 쿠 / 20190201/208565. HTML
"spring-mvc – Eclipse 경고: XXXXXXXXXXX.jar은 내보내거나 게시되지 않습니다. 런타임 ClassNotFoundExceptions가 발생할 수 있습니다."
해결책
jackson-XXXXXX-2.9.9.jar 파일을 참조 라이브러리에서 삭제하고 WEB-INF/lib 폴더에 직접 저장합니다.
참조 라이브러리에 있는 3개의 jackson-XXXXXX-2.9.9.jar 파일을 "빌드 경로에서 제외"에서 삭제.
WebContent/WEB-INF/lib 폴더에 세 개의 jackson-XXXXXX-2.9.9.jar 파일을 직접 드래그 앤 드롭.
파일 복사를 선택하고 확인
파일이 저장되었습니다.
3개의 jackson-XXXXXX-2.9.9.jar 파일에 대한 경고가 사라졌습니다. (지금은 나머지 2항목에 대해서는 무시)
500 오류도 사라지고 서블릿을 실행할 수있었습니다.
Reference
이 문제에 관하여([Servlet/Ajax]NoClassDefFoundError 해결 방법[Eclipse]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/noy__/items/b541ae44868233209403
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ObjectMapper(Jackson의 클래스)가 정의되고 있는 파일(jackson-XXXXXX-2.9.9.jar)을 참조할 수 없고, java.lang.NoClassDefFoundError가 되고 있기 (위해)때문에.
※ Jackson이란… Java용의 JSON 파서 라이브러리의 1개. Java 객체와 JSON의 상호 변환이 가능하다.
따라서 "eclipse 클래스 경로 항목은 내보내거나 게시되지 않습니다."에서 구그 해 보았을 때, 다음 페이지를 보고 해결할 수 있었습니다.
htps // 코데다 y. / jp / 쿠 / 20190201/208565. HTML
"spring-mvc – Eclipse 경고: XXXXXXXXXXX.jar은 내보내거나 게시되지 않습니다. 런타임 ClassNotFoundExceptions가 발생할 수 있습니다."
해결책
jackson-XXXXXX-2.9.9.jar 파일을 참조 라이브러리에서 삭제하고 WEB-INF/lib 폴더에 직접 저장합니다.
참조 라이브러리에 있는 3개의 jackson-XXXXXX-2.9.9.jar 파일을 "빌드 경로에서 제외"에서 삭제.
WebContent/WEB-INF/lib 폴더에 세 개의 jackson-XXXXXX-2.9.9.jar 파일을 직접 드래그 앤 드롭.
파일 복사를 선택하고 확인
파일이 저장되었습니다.
3개의 jackson-XXXXXX-2.9.9.jar 파일에 대한 경고가 사라졌습니다. (지금은 나머지 2항목에 대해서는 무시)
500 오류도 사라지고 서블릿을 실행할 수있었습니다.
Reference
이 문제에 관하여([Servlet/Ajax]NoClassDefFoundError 해결 방법[Eclipse]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/noy__/items/b541ae44868233209403
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Servlet/Ajax]NoClassDefFoundError 해결 방법[Eclipse]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noy__/items/b541ae44868233209403텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)