Невозможно создать службу загрузки файлов — получение ModelValidationException (без источника инъекции) во время запуска

Я создаю простую форму для загрузки файла, используя версию джерси: 2.26. Моя система, использующая HTTP-контейнер grizzly, даже не запускается и выдает следующую ошибку.

org.glassfish.jersey.server.model.ModelValidationException
No injection source found for a parameter

Этот класс ресурсов не работает

import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;

@Path("image")
public class ImageResource {
    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response uploadFile(
        @FormDataParam("file") InputStream uploadedInputStream,
        @FormDataParam("file") FormDataContentDisposition fileDetail) {
            return null;
    }
}

ПОМ.XML

pom.xml

ИЗМЕНИТЬ Добавление кода для моего сервера гризли Сервер гризли

final ResourceConfig rc = new ResourceConfig()
                .packages("rest.examples.jersey.main")
                .packages("rest.examples.jersey.caching")
                .packages("rest.examples.jersey.customdatatype")
                .packages("rest.examples.jersey.subresource_locator")
                .packages("rest.example.jersey.map_incoming_req_to_bean");
        // create and start a new instance of grizzly http server
        // exposing the Jersey application at BASE_URI
        HttpServer createHttpServer = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);

См. Я также пробовал это решение MULTIPART_FORM_DATA: не найден источник внедрения для параметра типа public javax.ws.rs.core.Response На самом деле я обновил свое решение (jars) из этого примера.

Спасибо


person Geek    schedule 04.08.2017    source источник
comment
А вы зарегистрировали MultiPartFeature?   -  person Paul Samsotha    schedule 05.08.2017
comment
Нет, нет. Я обновил свой вопрос с помощью кода HTTP-сервера гризли. Можете ли вы указать мне какой-нибудь ресурс о том, как это сделать на этом сервере.   -  person Geek    schedule 05.08.2017
comment
.register(MultiPartFeature.class) после packages. Это объясняется в посте, на который вы ссылаетесь.   -  person Paul Samsotha    schedule 05.08.2017
comment
Кроме того, сканирование пакетов выполняется рекурсивно, поэтому вам нужно использовать только один packages("rest.examples.jersey"), и все подпакеты также будут сканироваться.   -  person Paul Samsotha    schedule 05.08.2017
comment
Спасибо, это решило проблему.   -  person Geek    schedule 05.08.2017