Отсутствует зависимость для метода при выполнении веб-службы загрузки файлов. - PullRequest
9 голосов
/ 28 декабря 2011

Я пытался понять, как исправить эту ошибку:

SEVERE: Missing dependency for method public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 0
SEVERE: Missing dependency for method public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 1
SEVERE: Method, public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition), annotated with POST of resource, class com.myrest.FileService, is not recognized as valid resource method.

Я работаю с отдыхающим веб-сервисом Apache Jersey и работаю с сервисом загрузки.

Кто-нибудь сталкивался с этой ошибкой раньше?

Я получаю эту ошибку для этого кода:

    @POST
    @Path("/upload{path:.*}")
    @Consumes("multipart/form-data")
    @Produces("text/plain")
    public String uploadFile(
            @FormDataParam("file") File file, 
            @FormDataParam("file") FormDataContentDisposition fileDetail) {

        String fileLocation = "/files/" + fileDetail.getFileName();
        System.out.println("Copying file to : " + fileLocation);
        return "1";
    }

Ответы [ 2 ]

22 голосов
/ 14 февраля 2012

В моем случае проблема была в разных версиях библиотек jersey-bundle и com.sun.jersey.contribs;после установки обоих к одной и той же версии все заработало.

2 голосов
/ 28 декабря 2011

Последняя строка сообщения об ошибке заставляет меня думать, что у вас отсутствует JAR-файл.

class com.myrest.FileService, is not recognized as valid resource method.

Но кроме этого я не видел, чтобы @FormDataParam был привязан к файлу java.io.File ранее, не уверен, что фреймворк сможет десериализовать его для этого объекта. Вы пробовали десериализацию в java.io.InputStream вместо этого? Кроме того, если вы используете Maven для сборки, проверьте POM на наличие всех необходимых зависимостей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...