2017-03-22 10 views
0

私はジャージー1.9.1を使用しています。 com.sun.jerseyの[org.glassfish]のjersey-multipartをインクルードしたときに、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) 
+1

jarがデプロイされたWARに含まれていることを確認しましたか? – davidxxx

+0

あなたはtomcat –

+0

にデプロイしましたか? jersey-multipart.jarを意味しますか?これはTomcatにデプロイされています。私は参照されたライブラリの下でそれを見ることができます。 – Yergalem

答えて

1

私はInputStreamとしてファイルを受け取っ

@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); 
      } 


    } 

、画像ファイルをアップロードするため、次のジャージーコードを試してみました。

+0

@FormDataParamを使用したくない理由は、FormDataMultiPartを利用したいもう一つの理由は、注釈を引数として使用しないようにするためです。 – Yergalem

関連する問題