2012-02-14 12 views
3

私は、Spring + Jerseyを使用してAPIサービスを構築しています。 最近、私は自分のサーバーにSpringデータを組み込もうとしています。 私は本当に私の実行中のコード内の任意のリポジトリを使用して、ちょうど私のapp.xmlに1行を追加していない:春のデータでJAXRSの@Providerを見つけることができません。

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

しかし!私は文句を言う、私のAPIが動作しない気づく「JavaクラスXXXのメッセージ本文のライター、およびJavaの型クラスXXXを、そしてMIMEメディアタイプapplication/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-Dataのバグかどうかわかりませんが、 それを解決する方法は?

環境:

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> 

(私はジャージ-JSONを追加しようとしましたが、それでも動作していない)

答えて

0

あなたが必要で注釈付けされたクラスを含むパッケージを登録する

ジャージー2これは、ResourceConfigクラスのpackagesメソッドを呼び出して行います。

サーブレットに置くことができるベースパッケージの属性があると思います。ここをクリックしてくださいAutodiscover JAX-RS resources with CXF in a Spring application

関連する問題