RESTEasyをJAX-RS2.0クライアント実装として使用しようとしています。問題は、ランタイム例外が発生したことです。
_06-28 13:29:06.410: E/AndroidRuntime(5745): Caused by: Java.lang.RuntimeException: Java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder
06-28 13:29:06.410: E/AndroidRuntime(5745): at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.Java:103)
_
したがって、newBuilder()
メソッドはJerseyClientBuilder
を検索しています。代わりにRESTEasyを使用するようにシステムに指示するにはどうすればよいですか?
まあ、JAX-RSはサービスプロバイダーの規約に依存しています。 newBuilder
メソッドの最初の行で、次のように読み取ることができます。
Object delegate = FactoryFinder.find(JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY,
JAXRS_DEFAULT_CLIENT_BUILDER);
JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY
は"javax.ws.rs.client.ClientBuilder"
です。
次に、FactoryFinder
は
META-INF/services/javax.ws.rs.client.ClientBuilder
にjavax.ws.rs.client.ClientBuilder
から${Java.home}/lib/jaxrs.properties
にjavax.ws.rs.client.ClientBuilder
に移動します。したがって、RESTEasyを使用するには、ファイルを作成する必要があります
META-INF/services/javax.ws.rs.client.ClientBuilder
テキスト付き:
org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
これはRESTEasyのクラス名ですClientBuilder