JAX-RS Jersey Ошибка java.lang.NoSuchMethodError

Я хотел реализовать функцию загрузки файлов для моего сервера отдыха на основе джерси.

когда я установил свой pom.xml (используя maven) на:

    <dependency> 
        <groupId>org.glassfish.jersey.media</groupId> 
        <artifactId>jersey-media-multipart</artifactId> 
        <version>2.4.1</version> 
    </dependency>

    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-jdk-http</artifactId>
        <version>2.0</version>
    </dependency>

я получаю следующую ошибку:

JAX-RS Jersey Error java.lang.NoSuchMethodError: org.glassfish.jersey.internal.util.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;

без зависимости "jersey-media-multipart" остальной сервер работает, но я не могу использовать функции загрузки файлов.

Следуя важной части исходного кода:

ResourceConfig resourceConfig = new ResourceConfig(RestWebServer.class);
//resourceConfig.register(MultiPartFeature.class);
URI endPoint = new URI(pathServer);

server = JdkHttpServerFactory.createHttpServer( endPoint, resourceConfig );

RestWebserver.java:

@Path("/fileupload")
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile( 
        @FormParam("file") InputStream uploadedInputStream, 
        @FormParam("file") FormDataContentDisposition fileDetail) 
{
    String uploadedFileLocation = "c://" + fileDetail.getFileName();

    // save it
    saveToFile(uploadedInputStream, uploadedFileLocation);

    String output = "File uploaded via Jersey based RESTFul Webservice to: " + uploadedFileLocation;

    return Response.status(200).entity(output).build();
}

2 ответа

Решение

Не пользователь Джерси, так что я просто догадываюсь, но у вас, вероятно, несоответствие банок.

Попробуйте заменить свою вторую запись на это:

<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-jdk-http</artifactId>
    <version>2.4.1</version>
</dependency>

Основываясь на моем предположении о главе 8, вы зарегистрировали свой код клиент / сервер?

Другие вопросы по тегам