2012-02-14 3 views
3

API 서비스를 만들기 위해 Spring + Jersey를 사용하고 있습니다. 최근에 스프링 데이터를 내 서버에 통합하려고합니다. 나는 진정으로 내 app.xml에 한 줄을 추가 내 실행중인 코드에있는 저장소를 사용하지 않은 :스프링 데이터로 인해 봄에 JAXRS의 @Provider를 찾을 수 없습니까?

<jpa:repositories base-package="destiny.web" entity-manager-factory-ref="entityManagerFactoryApp" /> 

을하지만! 내 API 불평, 작동하지 않는주의 "자바 클래스 XXX에 대한 메시지 본문 작가 및 Java 유형 클래스 XXX 및 MIME 미디어 유형의 응용 프로그램/JSON을 찾을 수 없습니다"

나는 "JPA를 제거하는 경우 : 저장소. .. "내 XML의 라인, 다 잘 작동! 하고, 모든 프로 바이더 클래스가 스프링에 의해 등록 : 내가 추가 할 경우,

{http://*:8080-1} Registering Spring bean, apiResultJsonWriter, of type destiny.web.api.ApiResultJsonWriter as a provider class 
{http://*:8080-1} Registering Spring bean, webApi, of type destiny.web.api.WebApi as a root resource class 
{http://*:8080-1} Initiating Jersey application, version 'Jersey: 1.8 06/24/2011 12:17 PM' 

하지만 내 XML에서 "JPA 저장소 ..."라인은 전용 "루트 자원 클래스는"등록 :

{http://*:8080-1} CDI support is enabled 
{http://*:8080-1} Using default applicationContext 
{http://*:8080-1} Registering Spring bean, webApi, of type destiny.web.api.WebApi as a root resource class 
{http://*:8080-1} Initiating Jersey application, version 'Jersey: 1.8 06/24/2011 12:17 PM' 

모두 JAXRS의 @Provider (s)가 누락되었습니다.

스프링 데이터의 버그인지 모르겠습니까? 어떻게 해결할 수 있습니까?

환경 :

spring-3.1 
jersey-core-1.8.jar 
jersey-server-1.8.jar 
jersey-spring-1.8.jar 

spring-data-jpa-1.0.3.RELEASE.jar 
spring-data-commons-core-1.1.0.RELEASE.jar 

서버 : resin-4.0.25

관련 종속성

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>1.8</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.jersey.contribs</groupId> 
    <artifactId>jersey-spring</artifactId> 
    <version>1.8</version> 
    <exclusions> 
    <exclusion> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 
<dependency> 
    <groupId>org.springframework.data</groupId> 
    <artifactId>spring-data-jpa</artifactId> 
    <version>1.0.3.RELEASE</version> 
</dependency> 

답변

0

당신이 필요로하는 (I 저지-JSON을 추가 할 수 있지만 여전히 작동하지 않는 것을 시도)로 주석 된 클래스를 포함하는 패키지를 등록하려면

(저지 2) 이것은 ResourceConfig 클래스의 packages 메소드를 호출하여 수행됩니다.

서블릿에 넣을 수있는 기본 패키지 속성이 있다고 생각합니다. 여기를 참조하십시오 Autodiscover JAX-RS resources with CXF in a Spring application

관련 문제