traduccion jax example easy chrome rest jersey jax-rs resteasy

jax - resteasy example



JAX-RS 2.0 cambio de implementación predeterminada (1)

Bueno, JAX-RS se basa en la convención de proveedores de servicios. En las primeras líneas del método newBuilder puedes leer:

Object delegate = FactoryFinder.find(JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY, JAXRS_DEFAULT_CLIENT_BUILDER);

Donde JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY es "javax.ws.rs.client.ClientBuilder"

A su vez, FactoryFinder ve

  • primero para el nombre de la clase en META-INF/services/javax.ws.rs.client.ClientBuilder
  • luego en la propiedad javax.ws.rs.client.ClientBuilder en ${java.home}/lib/jaxrs.properties
  • finalmente en la propiedad del sistema javax.ws.rs.client.ClientBuilder .

Entonces, para usar RESTEasy, debes crear un archivo

META-INF/services/javax.ws.rs.client.ClientBuilder

con el texto:

org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder

que es el nombre de la clase de RESTEasy ClientBuilder

Estoy tratando de usar RESTEasy como implementación de cliente JAX-RS 2.0. El problema es que tengo la excepción de tiempo de ejecución:

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)

Así que el método newBuilder() está buscando JerseyClientBuilder si lo entiendo correctamente. ¿Cómo puedo decirle al sistema que use RESTEasy en su lugar?