2009-05-13 40 views
49

He instalado jdk1.6.0_13, pero cuando trato de encontrar un paquete javax.servlet, o pulse Ctrl + espacio en Eclipse después Servlet no puedo conseguir nada. ¿Dónde puedo descargar este paquete y por qué no está incluido en la distribución estándar para desarrolladores?¿Dónde está javax.servlet?

Respuesta

82

javax.servlet es un paquete que es parte de Java EE (Java Enterprise Edition). Tienes el JDK para Java SE (Java Standard Edition).

Puede usar the Java EE SDK por ejemplo.

Los contenedores de servlets simples como Apache Tomcat también vienen con esta API (busque servlet-api.jar).

+11

El tidbit sobre Tomcat acaba de salvar el día. ¡Gracias! – corsiKa

7

¿Has instalado el J2EE? Si instaló solo de estándar (J2SE) no encontrará.

4

El procedimiento normal con Eclipse y Java EE webapplications es instalar un contenedor servlet (Tomcat, Espolón, etc) o servidor de aplicaciones (Glassfish (que es incluido en la descarga "Sun Java EE"), JBoss AS, WebSphere, Weblogic, etc.) e integrarlo en Eclipse utilizando un complemento (incorporado) en la vista Servidores .

Durante el asistente de creación de un nuevo Dynamic Web Project, puede seleccionar el servidor integrado de la lista. Si tiene un Dynamic Web Project sin servidor o quiere cambiar el asociado, entonces necesita modificarlo en la sección Rutimes focalizados de las propiedades del proyecto.

De cualquier forma, Eclipse colocará automáticamente las bibliotecas específicas del servidor necesarias en el classpath del proyecto (ruta de compilación).

Debe absolutamente de ninguna manera extracto y copiar las bibliotecas específicas del servidor en /WEB-INF/lib o peor aún la JRE/lib a sí mismo, para "arreglar" los errores de compilación en Eclipse. Haría que su aplicación web esté vinculada a un servidor específico y, por lo tanto, completamente imposible de transportar.

20

detalle un poco más a la respuesta de Joachim Sauer:

En Ubuntu, al menos, el metapaquete tomcat6 depende de metapaquete tomcat6-common (y otros), que depende de metapaquete libtomcat6-java, que depende del paquete de libservlet2.5-java (y los demás) Contiene, entre otros, los archivos /usr/share/java/servlet-api-2.5.jar y /usr/share/java/jsp-api-2.1.jar, que son las bibliotecas de servlets y JSP que necesita. Entonces, si instaló Tomcat 6 a través de apt-get o el Centro de software de Ubuntu, ya tiene las bibliotecas; todo lo que queda es hacer que Tomcat los use en su proyecto.

bibliotecas Coloque /usr/share/java/servlet-api-2.5.jar y /usr/share/java/jsp-api-2.1.jar en la ruta de clase de esta manera:

  • Para todos los proyectos, mediante la configuración de Eclipse seleccionando Ventana -> Preferencias -> Java -> JRE instalados, a continuación, seleccionar el JRE ' usando, presionando Editar, luego presionando Agregar JAR Externos, y luego por seleccionando los archivos de las ubicaciones indicadas anteriormente.

  • Para un solo proyecto, haciendo clic derecho en el proyecto en el panel Explorador de proyectos , a continuación, seleccionando Propiedades - Ruta> Java Build, y luego presionando Añadir JAR externos, y luego mediante la selección de los archivos de la ubicaciones indicadas arriba.

Nota adicional 1: Estas son las versiones correctas de esas bibliotecas para usar con Tomcat 6; para las otras versiones de Tomcat, consulte la tabla en la página http://tomcat.apache.org/whichversion.html, aunque supongo que cada versión de Tomcat incluye las versiones de estas bibliotecas que son apropiadas para ella.

nota además 2: Paquete libservlet2.5-java 'Descripción s (dpkg-query -s libservlet2.5-java) dice:' Apache Tomcat implementa el Java Servlet y JavaServer Pages (JSP) especificaciones de Sun Microsystems, y proporciona un HTTP entorno de servidor "Java puro" Web para que se ejecute el código de Java Este paquete contiene la biblioteca Java Servlet y JSP. '

+2

+1 Gracias por tomarse el tiempo para agregar a esta vieja pregunta. Estoy solucionando problemas de software heredado y esta respuesta fue tremendamente útil. – chris

+0

¡Eres bienvenido! :) –

2

Si tiene Java EE JDK con Glassfish, está en glassfish3/glassfish/modules/javax.servlet-api.jar.