私は、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を追加しようとしましたが、それでも動作していない)