복붙노트

[SPRING] Jersey 저지 - * 종속성이 추가 될 때 WebApplication 공급자가 존재하지 않습니다.

SPRING

Jersey 저지 - * 종속성이 추가 될 때 WebApplication 공급자가 존재하지 않습니다.

간단한 리소스를 통해 요청을 소비하는 데 완벽하게 잘 작동하는 간단한 Spring & Jersey 응용 프로그램이 있습니다. 그러나 개체의 간단한 JSON serialization을 포함하는 JSON 응답을 반환하고 싶습니다. 이를 위해 jersey-json에 대한 maven 종속성을 추가했습니다. 그러나이 종속성을 추가하자마자 서버 시작시이 오류가 발생합니다.

com.sun.jersey.api.container.ContainerException: No WebApplication provider is present  at      
     com.sun.jersey.spi.container.WebApplicationFactory.createWebApplication(WebApplicationFactory.java:69) at
     com.sun.jersey.spi.container.servlet.ServletContainer.create(ServletContainer.java:391)

나는 제공자가 무엇인지에 대해 명확하게 밝히지는 않지만, 발견 된 기본값이 있어야한다는 것을 확신합니다.

완전성을 위해, 여기 나의 자원이있다 :

@Path("/scan")
@Resource
@Component
public class ScanResource {
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/{barcode}")
    public List<Scan> getScansForBarcode(@PathParam("barcode") Long barcode){
        ..snip..
        return results;
    }
}

Scan 객체는 간단한 Entity Bean 객체입니다.

mvn 의존성은 다음과 같습니다.

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.11</version>
</dependency>

아무도 왜 WebApplication 공급자가 존재하지 않는 예외가 발생하는지 알 수 있습니까? 어떻게 해결할 수 있을지에 대한 생각?

감사

해결법

  1. ==============================

    1.클래스 패스에 jersey-server jar도 있어야합니다. 그리고 모든 병이 같은 버전인지 확인해야합니다. Jersey 런타임은 제공된 클래스를 다르게 사용할 수 없습니다.

    클래스 패스에 jersey-server jar도 있어야합니다. 그리고 모든 병이 같은 버전인지 확인해야합니다. Jersey 런타임은 제공된 클래스를 다르게 사용할 수 없습니다.

    또한 (여기에는 관련이 없을 가능성이 많지만) 모듈 구조의 최근 변경 사항이 있습니다. 서블릿 종속성은 새로운 모듈로 분리되었습니다. 따라서 서블릿을 사용하고 있다면 jersey-servlet (저지 - 서버에 따라 다름)에 의존하고 싶을 수도 있습니다.

  2. ==============================

    2.나는 또한이 문제를 안고있다. 이 문제는 "jersey-json"및 "jersey-servlet"종속성에 대해 동일한 버전을 사용하여 해결되었습니다.

    나는 또한이 문제를 안고있다. 이 문제는 "jersey-json"및 "jersey-servlet"종속성에 대해 동일한 버전을 사용하여 해결되었습니다.

    전의:

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.13</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.13</version>
    </dependency>
    
  3. from https://stackoverflow.com/questions/8662919/jersey-no-webapplication-provider-is-present-when-jersey-dependency-added by cc-by-sa and MIT license