gradle spring boot 셋팅시 error

 

spring boot 2.1.0 버전 사용시 아래와 같은 에러가 나타 날수 있다. 

에러 내용 

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

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [/vsql] threw exception [Handler processing failed; nested exception is java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping;] with root cause
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping;
	at org.apache.catalina.core.ApplicationHttpRequest.setRequest(ApplicationHttpRequest.java:708)
	at org.apache.catalina.core.ApplicationHttpRequest.<init>(ApplicationHttpRequest.java:114)
	at org.apache.catalina.core.ApplicationDispatcher.wrapRequest(ApplicationDispatcher.java:917)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:358)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)

 

문제 원인 : servlet version 이 내장 서버에 맞지 않아서 발생하는 문제.

2.1.0 버전 이상 사용시 톰켓 9은 servlet version 4.0을 사용하는데 버전이 맞지 않아서 문제함

providedCompile(
  [ group: 'javax.servlet' , name: 'javax.servlet-api' , version: '4.0.0' ]
  , [ group: 'javax.servlet' , name: 'jstl' , version: '1.2' ]
  , [ group: 'javax.servlet.jsp', name: 'javax.servlet.jsp-api', version: def_version.jspApi ]
)

 

해결방법 :  java[ group: 'javax.servlet' , name: 'javax.servlet-api' , version: '4.0.0'  의 버전을 내장 서버 버전과 동일하게 하면 문제 해결됨. 

 

+ Recent posts