2017-02-20 15 views
0

Ich versuche Image Upload mit MutiPartForm Data zu machen und habe es auch geschafft. Aber mein Problem ist meine andere Ruhe API Methoden arbeiten nicht mit Multipart Formular Daten. Ich erhalte java.lang.ClassNotFoundException: org.glassfish.jersey.server.internal.inject.ExtractorException i jar-Dateien mit bin Brachejava.lang.ClassNotFoundException: org.glassfish.jersey.server.internal.inject.ExtractorException

aopalliance-repackaged-2.5.0-b32.jar 
hk2-api-2.5.0-b32.jar 
hk2-locator-2.5.0-b32jar 
hk2-utils-2.5.0-b32jar 
javassist-3.40.0-GA.jar 
javax.annotation-api-1.2.jar 
javax.inject-2.5.0-b32.jar 
javax.servlet-api-3.0.1.jar 
javax.ws.rs-api-2.0.1.jar 
jaxb-api-2.2.7.jar 
jaxrs-ri-2.21.jar 
jersey-client.jar 
jersey-common.jar 
jersey-container-servlet-core.jar 
jersey-container-servlet.jar 
jersey-guava-2.25.1.jar 
jersey-media-jaxb.jar 
jersey-media-multipart-2.12.jar 
jersey-server.jar 
mimepull-1.9.3.jar 
org.osgi.core-4.2.0.jar 
osog-resource-locator-1.0.1.jar 
persistence-api-1.0.jar 
validation-api-1.1.0.Final.jar 

Stilllegung Code i

@Path("/fileandjson") 
public class HelloWorld { 
    public static final String UPLOAD_FILE_SERVER = "D:/saveimages/"; 
    @POST 
    @Path("/sample") 
    @Produces(MediaType.APPLICATION_JSON) 
    public void sample(){ 
     System.out.println("inside web service "); 
    } 
    @POST 
    @Path("/upload/images") 
    @Consumes(MediaType.MULTIPART_FORM_DATA) 
    public Response uploadImageFile(@FormDataParam("uploadFile") InputStream fileInputStream, 
            @FormDataParam("uploadFile") FormDataContentDisposition fileFormDataContentDisposition, 
            @FormDataParam("firstName") String name) { 
     String fileName = null; 
     String uploadFilePath = null; 
     try { 
      System.out.println("name : "+name); 
      fileName = fileFormDataContentDisposition.getFileName(); 
      uploadFilePath = writeToFileServer(fileInputStream, fileName); 
      System.out.println("fileName : "+fileName+" : uploadFilePath : "+uploadFilePath); 
     } 
     catch(IOException ioe){ 
      ioe.printStackTrace(); 
     } 
     finally{ 
      // release resources, if any 
     } 
     return Response.ok("File uploaded successfully at " + uploadFilePath).build(); 
    } 


    private String writeToFileServer(InputStream inputStream, String fileName) throws IOException { 

     OutputStream outputStream = null; 
     String qualifiedUploadFilePath = UPLOAD_FILE_SERVER + fileName; 

     try { 
      outputStream = new FileOutputStream(new File(qualifiedUploadFilePath)); 
      int read = 0; 
      byte[] bytes = new byte[1024]; 
      while ((read = inputStream.read(bytes)) != -1) { 
       outputStream.write(bytes, 0, read); 
      } 
      outputStream.flush(); 
     } 
     catch (IOException ioe) { 
      ioe.printStackTrace(); 
     } 
     finally{ 
      //release resource, if any 
      outputStream.close(); 
     } 
     return qualifiedUploadFilePath; 
    } 
bin mit

Fallender Fehler, den ich bekomme.

SEVERE: Servlet /SampleForTestingrest2.0 threw load() exception 
java.lang.ClassNotFoundException: org.glassfish.jersey.server.internal.inject.ExtractorException 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at org.glassfish.jersey.media.multipart.internal.FormDataParamValueFactoryProvider.createValueFactory(FormDataParamValueFactoryProvider.java:361) 
    at org.glassfish.jersey.server.internal.inject.AbstractValueFactoryProvider.getValueFactory(AbstractValueFactoryProvider.java:134) 
    at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getValueFactory(ParameterValueHelper.java:176) 
    at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.createValueProviders(ParameterValueHelper.java:140) 
    at org.glassfish.jersey.server.model.Invocable.getValueProviders(Invocable.java:320) 
    at org.glassfish.jersey.server.model.ResourceMethodValidator.checkValueProviders(ResourceMethodValidator.java:165) 
    at org.glassfish.jersey.server.model.ResourceMethodValidator.checkMethod(ResourceMethodValidator.java:106) 
    at org.glassfish.jersey.server.model.ResourceMethodValidator.visitJaxrsResourceMethod(ResourceMethodValidator.java:102) 
    at org.glassfish.jersey.server.model.ResourceMethodValidator.visitResourceMethod(ResourceMethodValidator.java:92) 
    at org.glassfish.jersey.server.model.ResourceMethod.accept(ResourceMethod.java:873) 
    at org.glassfish.jersey.server.model.ComponentModelValidator.validateWithErrors(ComponentModelValidator.java:161) 
    at org.glassfish.jersey.server.model.ComponentModelValidator.validateWithErrors(ComponentModelValidator.java:167) 
    at org.glassfish.jersey.server.model.ComponentModelValidator.validateWithErrors(ComponentModelValidator.java:167) 
    at org.glassfish.jersey.server.model.ComponentModelValidator.validateWithErrors(ComponentModelValidator.java:167) 
    at org.glassfish.jersey.server.model.ComponentModelValidator.access$000(ComponentModelValidator.java:90) 
    at org.glassfish.jersey.server.model.ComponentModelValidator$1.run(ComponentModelValidator.java:151) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267) 
    at org.glassfish.jersey.server.model.ComponentModelValidator.validate(ComponentModelValidator.java:146) 
    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:548) 
    at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:182) 
    at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:348) 
    at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:345) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
    at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255) 
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:345) 
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:390) 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170) 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:362) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

Antwort

0

Sie mischen verschiedene Versionen, z. Sie haben jaxrs-ri-2.21.jar und jersey-media-multipart-2.12.jar aber ich denke, Sie brauchen jersey-media-multipart-2.21.jar.

Es ist nicht wirklich klar, welche spezifische Jersey Version, die Sie verwenden möchten, wenn der oben genannte Hinweis Ihnen nicht helfen, das Problem zu beheben, können Sie die Frage aktualisieren sollen mit Ihrem pom.xml (in der Regel ist es besser, ein pom.xml zugunsten zeigen der Namen von JAR-Dateien).

Verwandte Themen