2012-04-04 22 views
9

estoy aprendiendo webservices de descanso y todos los tutoriales utilizan javax.ws.rs. * Paquete. Pero con JDK 6 y JDK 7, mi eclipse no parece reconocer el paquete javax.ws. ¿Que me estoy perdiendo aqui?javax.ws.rs paquete

+0

¿Tiene jsr311-api.jar en su classpath? – tenorsax

+0

Agregar jsr311-api.jar solucionó el problema. Pero el API java 6 menciona estas clases. No estoy seguro de por qué tengo que agregarlo por separado. – user238021

Respuesta

2

javax.ws.rs no es un paquete JDK; es una API del lado del servidor que forma parte de la especificación Java EE. Debería incluir un tiempo de ejecución de Java EE en su ruta de clases u obtener una implementación de un tercero si va por la ruta self-assembly (por ejemplo, utilizando Tomcat)

+1

¿Por qué jax-ws (basado en Soap) se envía con JDK pero no con jax-rs (basado en Rest)? – Abidi

+0

@Abidi Supongo que es porque es mucho más fácil escribir un cliente REST que un cliente SOAP, pero no puedo dar una respuesta definitiva. – McDowell

+0

Interesante, jax-rs sí viene con Metro stack y Metro se envía con JDK6. Esto significa que no se envía una pila completa de Metro con JDK. ¡Confuso! – Abidi

2

que estás pueden faltar Jersey instalación, o algo en la configuración del entorno. Intenta también instalar Eclipse WPT. Puede seguir este tutorial, cubre los requisitos previos y los procedimientos básicos de instalación también.

+0

Agregué la instalación de jersey a classpath. Pero Jersey no tiene el paquete javax.ws.rs. ¿No debería el paquete javax.ws.rs estar en Java 6 SDK? Pero no parece ser así. – user238021

Cuestiones relacionadas