Java 泽西岛:文件上载问题

Java 泽西岛:文件上载问题,java,jersey,Java,Jersey,我用的是泽西1.9.1。当我包含com.sun.jersey[not org.glassfish]的jersey多部分时,FormDataMultiPart编译错误消失了。但是,它在运行时抛出以下错误。请随便修理 Mar 22, 2017 1:52:53 PM org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet [Jersey] in web application [/csmgt] threw load(

我用的是泽西1.9.1。当我包含com.sun.jersey[not org.glassfish]的jersey多部分时,FormDataMultiPart编译错误消失了。但是,它在运行时抛出以下错误。请随便修理

Mar 22, 2017 1:52:53 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [Jersey] in web application [/csmgt] threw load() exception
java.lang.ClassNotFoundException: com.sun.jersey.multipart.FormDataMultiPart
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetPublicMethods(Unknown Source)
    at java.lang.Class.getMethods(Unknown Source)
    at com.sun.jersey.core.reflection.MethodList.getMethods(MethodList.java:77)
    at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:64)
    at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:60)
    at com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.createResource(IntrospectionModeller.java:116)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:745)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.createAbstractResourceModelStructures(WebApplicationImpl.java:1522)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1295)

我试着按照jersey代码上传图像文件

@POST
    @Path("/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces(MediaType.APPLICATION_JSON)
    public Object fileupload(@FormDataParam("file") InputStream uploadedInputStream,
                             @FormDataParam("file") FormDataContentDisposition fileDetail,@Context HttpContext context){
            String tenant = context.getRequest().getAbsolutePath().getHost(); 
            Session session = null;

            try{
                LOGGER.info("--- File upload request ---");
                session = TenantSesionFactory.openSession(tenant);


                return this.fileUploadProcess.upload(uploadedInputStream, fileDetail,session);

            }catch (BadRequestException e ) {
                throw new BadRequestException(e.getMessage());
             }catch(Exception e){
                LOGGER.error("error in host -> "+tenant,e);
                throw new UncaughtException();
            }finally{
                TenantSessionManager.close(session);
            }


    }

我收到的文件是inputstream。

您检查过jar是否包含在已部署的WAR中吗?您部署在Tomcat中,您指的是哪个jar?你是说jersey-multipart.jar吗?它部署在Tomcat中。我可以在引用的库下看到它。我不想使用@FormDataParam,因为我想利用FormDataMultiPart的一个优点,另一个原因是我想避免使用注释作为参数。