Java jersey Загрузка файла загрузки Ошибка [дубликат]

35
задан Paul Samsotha 26 August 2015 в 16:16
поделиться

4 ответа

Избавиться от jersey-multipart-1.18.jar. Это для Джерси 1.x. Добавьте эти два файла

Для Maven вы использовали бы это

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.17</version> <!-- Make sure the Jersey matches
                                 the one you are currently using -->
</dependency>

. Затем вам нужно настроить / зарегистрировать MultiPartFeature. Если вы используете конфигурацию ResourceConfig, вы можете просто сделать

register(MultiPartFeature.class);

Если вы используете web.xml, то вы можете добавить класс в качестве <init-param> к сервлету Джерси

<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>

Обратите внимание, что если у вас есть несколько поставщиков, которые вы хотите зарегистрировать, вы можете разграничить каждый класс провайдера запятой или точкой с запятой. Вы не можете использовать этот же param-name дважды. См. Ответ Suarabh

UPDATE

Кроме того, как только вы избавитесь от jersey-multipart-1.18.jar, у вас будут ошибки компиляции отсутствующих импортированных классов. По большей части имена классов все те же, только пакеты были изменены, т. Е.


Помимо

Если вы здесь для другого ModelValidationException, вот некоторые ссылки для более общей информации.

109
ответ дан Paul Samsotha 17 August 2018 в 21:50
поделиться
  • 1
    Плюс 1 для web.xml и ResourceConfig. – kyle 1 February 2016 в 06:30
  • 2
    Ничего себе это решило мою проблему. Бесконечно благодарен. – orange14 8 July 2017 в 15:44
  • 3
    Для пользователей dropwizard. Нужно включить зависимость зависимостей от dropwizard и зарегистрировать пакет в методе initialize (): dropwizard.readthedocs.io/en/latest/manual/forms.html – Vyacheslav 17 July 2017 в 09:43
  • 4
    Большое вам спасибо, и это альтернативный реестр HashSet h = new HashSet & lt; Class & lt;? Gt; (); h.add (MultiPartFeature.class); – mesutpiskin 7 August 2017 в 11:49
  • 5
    Эта строка register(MultiPartFeature.class); сохранила мой день – tryingToLearn 6 March 2018 в 05:53

Если кто-то использует @FormDataParam с аннотацией @ApiOperation swagger, он не будет работать (в соответствии с последней версией swagger в это время), как указано здесь:

https: // github.com/swagger-api/swagger-ui/issues/169

0
ответ дан Anant Simran Singh 17 August 2018 в 21:50
поделиться

У меня тоже было такое же исключение. Я сделал следующие изменения в файле web.xml

<init-param>
            <param-name>jersey.config.server.provider.classnames</param-name>
            <param-value>org.glassfish.jersey.filter.LoggingFilter;org.glassfish.jersey.moxy.json.MoxyFeature;org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
        </init-param>

и изменил трикотаж с 2,7 до 2,9. Я не знаю, что изменило это решение 2.

1
ответ дан Saurabh 17 August 2018 в 21:50
поделиться
1
ответ дан Crimean.us 29 October 2018 в 20:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: