2012-04-04 25 views
9

Sto imparando i restful webservices e tutte le esercitazioni usano il pacchetto javax.ws.rs. *. Ma con JDK 6 anf JDK 7, la mia eclissi non sembra riconoscere il pacchetto javax.ws. Cosa mi manca qui?javax.ws.rs package

+0

Hai jsr311-api.jar nel classpath? – tenorsax

+0

L'aggiunta di jsr311-api.jar risolve il problema. Ma l'API Java 6 menziona queste classi. Non sono sicuro del motivo per cui devo aggiungerlo separatamente. – user238021

risposta

2

javax.ws.rs non è un pacchetto JDK; è un'API lato server che fa parte delle specifiche Java EE. Dovresti includere un runtime Java EE sul tuo classpath o creare un'implementazione da una terza parte se stai percorrendo la route self-assembly (ad esempio utilizzando Tomcat.)

+1

Perché jax-ws (basato su sapone) viene fornito con JDK ma non jax-rs (basato su Rest)? – Abidi

+0

@Abidi Immagino sia perché è molto più facile scrivere un client REST che un client SOAP ma non posso dare una risposta definitiva. – McDowell

+0

Interessante, jax-rs viene fornito con Metro stack e Metro viene fornito con JDK6. Ciò significa che non viene fornito lo stack completo di Metro con JDK. Confuso! – Abidi

2

Potrebbe mancare l'installazione Jersey o qualcosa nella configurazione dell'ambiente. Prova anche a installare Eclipse WPT. È possibile seguire questo tutorial, copre anche i prerequisiti e le procedure di installazione di base.

+0

Ho aggiunto l'installazione della maglia a classpath. Ma Jersey non ha il pacchetto javax.ws.rs. il pacchetto javax.ws.rs non dovrebbe essere in Java 6 SDK? Ma non sembra essere. – user238021