找不到Java类型类com.sun.jersey.multipart.FormDataMultiPart和MIME媒体类型multipart/form数据

找不到Java类型类com.sun.jersey.multipart.FormDataMultiPart和MIME媒体类型multipart/form数据,jersey,tomcat7,multipartform-data,multipart,Jersey,Tomcat7,Multipartform Data,Multipart,我在tomcat日志中看到以下错误 错误c.s.j.spi.container.ContainerRequest-的消息正文读取器 Java类com.sun.jersey.multipart.FormDataMultiPart和Java类型 类com.sun.jersey.multipart.FormDataMultiPart和MIME媒体类型 找不到多部分/表单数据。已注册的邮件正文阅读器 与MIME媒体类型兼容的有: /->com.sun.jersey.core.impl.provider.

我在tomcat日志中看到以下错误

错误c.s.j.spi.container.ContainerRequest-的消息正文读取器 Java类com.sun.jersey.multipart.FormDataMultiPart和Java类型 类com.sun.jersey.multipart.FormDataMultiPart和MIME媒体类型 找不到多部分/表单数据。已注册的邮件正文阅读器 与MIME媒体类型兼容的有: /->com.sun.jersey.core.impl.provider.entity.FormProvider com.sun.jersey.core.impl.provider.entity.StringProvider
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
com.sun.jersey.core.impl.provider.entity.DataSourceProvider
com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General com.sun.jersey.core.impl.provider.entity.ReaderProvider
com.sun.jersey.core.impl.provider.entity.DocumentProvider
com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General
com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General
com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider
com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General com.sun.jersey.core.impl.provider.entity.EntityHolderReader
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General


在客户端,我看到以下消息:

POST返回的响应状态为415 不支持的媒体类型


我在谷歌上搜索过,得到的建议是jersey-multipart.jar和mimepull.jar需要作为依赖项。我的build.gradle中有以下依赖项:

编译'com.sun.jersey.contribs:jersey多部分:1.18'

在tomcat(Apache tomcat/7.0.47)上打包和部署应用程序后,我看到jersey-multipart-1.18.jarmimepull-1.9.3.jar位于app/WEB-INF/lib文件夹中


以下是我的服务器端代码:

@POST
  @Consumes("multipart/form-data")
  @Path("/v2/upload")
  public Response uploadV2(FormDataMultiPart multipart) {

      logger.info("**POST /v2/upload");

      return Response.ok("success!").build();

  }
我仍然在服务器端和客户端收到相同的错误。感谢您的帮助。
谢谢。

我也收到了同样的行为,收到了415种不支持的媒体类型的响应。如果我的输入参数是字符串,我可以点击路径。一旦我将参数更改为FormDataMultiPart,我就会得到415。解决这个问题的方法是确保com.sun.jersey包的版本相同

对于maven:

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-multipart</artifactId>
        <version>1.18.1</version>
    </dependency>

泽西岛
球衣核心
1.18.1
泽西岛
泽西json
1.18.1
泽西岛
泽西服务器
1.18.1
泽西岛
泽西servlet
1.18.1
com.sun.jersey.contribs
泽西多部分
1.18.1

jersey multipart的任何不匹配都会导致上述行为。

您只需将mimepull.jar添加到lib中即可

还是和Maven在一起


org.jvnet.mimepull
含羞草
1.9.5