2013-11-30 5 views
2

Я добавил maven-зависимостей servlet-api 2.5, javaee-web-api 6.0, но я все еще получаю эти исключения. Любая помощь была бы очень признательна =) Спасибо.java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getParts()

 java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getParts()Ljava/util/Collection; 
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.<init>(StandardMultipartHttpServletRequest.java:57) 
    at org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:58) 
    at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:1020) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:883) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221) 
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147) 
+1

убедитесь, что сервер, на котором запущен приложение, также поддерживает эту версию API – A4L

+0

, пожалуйста, вставьте код из StandardMultipartHttpServletRequest.java со всеми импортными –

ответ

3

По мне может возникнуть проблема. ваш код ссылается на другой код HttpServletRequest во время компиляции, который имеет метод под названием getParts() и во время выполнения (при развертывании вашего проекта и запуске) он ссылается на javax.servlet.http.HttpServletRequest для разрешения и не находит такого метода.

проверки в коде (импорт), который пакет он со ссылкой на решение HttpServletRequest класса

я также могу видеть, что servlet API 2.5не имеет такой метод в HttpServletRequest классе в то время как javaee-web-api 6.0делает вы можете удалить нежелательные а также вам необходимо убедиться в том, что используемая вами зависимость доступна для вашего кода во время выполнения

1

Поскольку вы используете Jetty 6 (сервлет spec 2.5), объект HttpServletRequest не имеет Servlet 3.0 getParts() способ. Чтобы получить эту работу, вам нужно получить другой контейнер сервлета (обновление до Jetty 9).

Смежные вопросы