Избавиться от 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
, у вас будут ошибки компиляции отсутствующих импортированных классов. По большей части имена классов все те же, только пакеты были изменены, т. Е.
org.glassfish.jersey.media.multipart.FormDataParam
org.glassfish.jersey.media.multipart.FormDataContentDisposition
Если вы здесь для другого ModelValidationException
, вот некоторые ссылки для более общей информации.
Если кто-то использует @FormDataParam
с аннотацией @ApiOperation
swagger, он не будет работать (в соответствии с последней версией swagger в это время), как указано здесь:
У меня тоже было такое же исключение. Я сделал следующие изменения в файле 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.
register(MultiPartFeature.class);
сохранила мой день – tryingToLearn 6 March 2018 в 05:53