본문 바로가기
Spring/Problems

[Error] NoSuchMethodError: javax.servlet.http.HttpServletRequest

by avvin 2019. 5. 27.

Error 내용

Handler processing failed; nested exception is java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping;

NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping;



톰캣 어떤 버전으로는 잘 실행되는데 다른 버전으로 실행하면 위 에러가 나는 경우가 있다.



다음에 같은 문제 발생시 참고


표준 프레임워크 오픈 커뮤니티

https://open.egovframe.org/cop/bbs/selectBoardArticle.do?bbsId=BBSMSTR_000000000013&nttId=5249&pageIndex=1053



설정된 servlet-api가 tomcat 6의 library와 맞지 않아서 발생된 오류입니다.


pom.xml 상에서..


다음과 같은 부분이 있는지 확인해 보시구요..

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>servlet-api</artifactId>

<version>2.5</version>

<scope>provided</scope>

</dependency>

출처 : 표준 프레임워크 오픈 커뮤니티




servlet-api가 톰캣과 호환되지 않아 발생한 문제



기존 jre 폴더에는 8.5버전 servlet-api.jar가 있어  NoSuchMethodError(메서드 없음)가 났다.


해결 : C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext 에 톰캣 9.0 lib에 있는 servlet-api.jar 넣기(덮어쓰기) 




참고 : https://rank01.tistory.com/26