2016-04-28 4 views
0

Я уже потратили часы на решение следующей задачи:HTTP Status 404 - Не удалось найти ресурс для относительна: полного пути: Resteasy

У меня есть проект Maven со следующим web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    id="WebApp_ID" version="3.0"> 
    <display-name>xy</display-name> 

    <servlet-mapping> 
     <servlet-name>resteasy-servlet</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

    <!-- Auto scan REST service --> 
    <context-param> 
     <param-name>resteasy.scan</param-name> 
     <param-value>true</param-value> 
    </context-param> 

     <!-- this should be the same URL pattern as the servlet-mapping property --> 
    <context-param> 
     <param-name>resteasy.servlet.mapping.prefix</param-name> 
     <param-value>/rest</param-value> 
    </context-param> 

    <listener> 
     <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>resteasy-servlet</servlet-name> 
     <servlet-class> 
      org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher 
     </servlet-class> 
    </servlet> 

</web-app> 

Мой Java класс выглядит следующим образом:

@Path("/file") 
public class File 
{ 
    @POST 
    @Path("/upload") 
    @Consumes("multipart/form-data") 
    public Response uploadFile(@MultipartForm Multipart form) {} 

После Проект-> Run As -> Выполнить на сервере правильно index.jsp показано.

При нажатии на кнопку для загрузки файла я получаю ошибку:

HTTP Status 404 - Не удалось найти ресурс для относительного:/файл/загрузки полного пути: http://localhost:8080/Projectname/rest/file/upload

То, что я сделал aleady:

  • чистый проект
  • обновление Maven
  • Run As -> Maven -> чистая установка (сборка успеха на)
  • удалить Tomcat и установил его снова
  • отключил AutoScan и добавил «Файл» вручную

Кроме того я получаю предупреждение, что некоторые банки не могут можно найти на пути Tomcat (/Tomcat8/wtpwebapps/Projectname/WEB-INF/lib/activation-1.1.jar (Нет такого файла или каталога, но он доступен в файле pom.xml и под target-> Projectname-> WEB -INF-> lib)

Я использую версию resteasy-jaxrs 2.2.1.GA

Я ценю любую помощь :)

ответ

0

Попробуйте ниже пунктов.

  1. Попробуйте добавить имя пакета в web.xml fororder для простоты сканирования файлов классов для аннотаций JAX-RS. Оформить заказ scan resteasy resources by package name
  2. Не забудьте установить правильный тип содержимого во время вызова конечной точки REST. I.e, multipart/form-data