Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.ClassNotFoundException:org.glassfish.jersey.server.internal.inject.ExtractorException_Java_Rest_Glassfish - Fatal编程技术网

java.lang.ClassNotFoundException:org.glassfish.jersey.server.internal.inject.ExtractorException

java.lang.ClassNotFoundException:org.glassfish.jersey.server.internal.inject.ExtractorException,java,rest,glassfish,Java,Rest,Glassfish,我正在尝试使用多部分数据进行图像上传,我也做到了。但我的问题是我的其他RESTAPI方法不能处理多部分表单数据。 我得到了java.lang.ClassNotFoundException:org.glassfish.jersey.server.internal.inject.ExtractorException 我正在使用Fallowing jar文件 aopalliance-repackaged-2.5.0-b32.jar hk2-api-2.5.0-b32.jar hk2-locator-2

我正在尝试使用多部分数据进行图像上传,我也做到了。但我的问题是我的其他RESTAPI方法不能处理多部分表单数据。 我得到了java.lang.ClassNotFoundException:org.glassfish.jersey.server.internal.inject.ExtractorException 我正在使用Fallowing jar文件

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
我正在使用的空闲代码

    @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;
    }
我犯了一个错误

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

您正在混合不同的版本,例如,您有jaxrs-ri-2.21.jarjersey-media-multipart-2.12.jar,但我认为您需要jersey-media-multipart-2.21.jar

现在还不清楚您要使用哪个特定的Jersey版本,如果上面的提示不能帮助您解决问题,您应该使用
pom.xml
更新问题(通常最好显示
pom.xml
,以支持jar文件的名称)