Tengo una aplicación simple de Spring & Jersey, que funciona perfectamente bien para consumir solicitudes a través de un recurso simple. Sin embargo, me gustaría devolver una respuesta JSON, que contiene una serialización JSON simple de un objeto. Para lograr esto, he agregado una dependencia de maven para jersey-json
. Tan pronto como añadir a la dependencia, sin embargo, me sale este error al iniciar el servidor:Jersey Ningún proveedor de aplicaciones web está presente cuando se agregó la dependencia jersey- *
com.sun.jersey.api.container.ContainerException: No WebApplication provider is present at
com.sun.jersey.spi.container.WebApplicationFactory.createWebApplication(WebApplicationFactory.java:69) at
com.sun.jersey.spi.container.servlet.ServletContainer.create(ServletContainer.java:391)
No estoy totalmente claro sobre exactamente lo que un proveedor es, pero estoy bastante seguro de que debe haber un defecto uno encontrado.
Para completar, aquí es mi recurso:
@Path("/scan")
@Resource
@Component
public class ScanResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/{barcode}")
public List<Scan> getScansForBarcode(@PathParam("barcode") Long barcode){
..snip..
return results;
}
}
objeto A Scan es un simple objeto Entity Bean.
La dependencia MVN es:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.11</version>
</dependency>
¿Alguien sabe por qué lo debiera la excepción No WebApplication provider is present
? ¿Alguna idea sobre cómo podría resolverlo?
Gracias
¿estás seguro de que tiene Jersey-servidor en la ruta de clase así? Recuerde, todos los módulos de jersey deben tener exactamente la misma versión; no podrán encontrar proveedores entre sí si no se cumple esta condición. –
Gracias Pavel - adelante y haz que este comentario sea una respuesta, y lo aceptaré. – idbentley
hecho, gracias! :) –