Ho una semplice molla & applicazione Jersey, che funziona perfettamente per consumare le richieste attraverso una semplice risorsa. Tuttavia, mi piacerebbe restituire una risposta JSON - contenente una semplice serializzazione JSON di un oggetto. Per raggiungere questo obiettivo, ho aggiunto una dipendenza di esperti per jersey-json
. Non appena aggiungo questa dipendenza, tuttavia, ottengo questo errore all'avvio del server:fornitore Jersey Nessuna WebApplication è presente quando Jersey- * dipendenza aggiunto
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)
Io non sono del tutto chiare su esattamente ciò che un fornitore è, ma sono abbastanza sicuro che ci dovrebbe essere un difetto uno trovato.
Per completezza, ecco la mia risorsa:
@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;
}
}
oggetto A Scan è un oggetto semplice Entity Bean.
La dipendenza mvn è:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.11</version>
</dependency>
Qualcuno sa il motivo per cui potrebbe essere sempre il No WebApplication provider is present
eccezione? Qualche idea su come potrei risolverlo?
Grazie
Sei sicuro di avere jersey-server sul classpath come bene? Ricorda, tutti i moduli jersey devono avere esattamente la stessa versione: non saranno in grado di trovare gli altri provider se questa condizione non viene soddisfatta. –
Grazie Pavel - vai avanti e fai questo commento una risposta, e lo accetterò. – idbentley
fatto, grazie! :) –