2010-11-07 20 views
112

Estoy tratando de usar eclipse para Java EE para desarrollar aplicaciones web.La importación javax.servlet no se puede resolver

Tengo que utilizar Tomcat que mi servidor de. He descargado Tomcat y se está ejecutando. Pero mi programa no compila.

me sale el siguiente error:

The import javax.servlet can't be resolved.

¿Qué necesito hacer?

Respuesta

170

Necesita agregar la API del servlet a su classpath. En Tomcat 6.0, esto se encuentra en un JAR llamado servlet-api.jar en la carpeta lib de Tomcat. Puede agregar una referencia a ese JAR al classpath del proyecto, o poner una copia del JAR en su proyecto Eclipse y agregarlo al classpath desde allí.

Si desea salir del JAR en la carpeta de Tomcat lib:

  • Haga clic en el proyecto, haga clic en Propiedades .
  • Elija Java Build Path.
  • Haga clic Añadir JAR externos ...
  • Examinar para encontrar servlet-api.jar y seleccionarlo.
  • Haga clic en Aceptar para actualizar la ruta de compilación.

O, si copia el archivo JAR en su proyecto:

  • Haga clic en el proyecto, haga clic en Propiedades .
  • Elija Java Build Path.
  • Haga clic Añadir JAR ...
  • Encuentra servlet-api.jar en su proyecto y seleccionarlo.
  • Haga clic en Aceptar para actualizar la ruta de compilación.
+7

Tener una copia de un archivo JAR-servletcontainer específico en '/ WEB-INF/lib' haría que su aplicación inportable. Solo podrá ejecutarse en la misma versión/copia del servidor y no en otras marcas/versiones del servidor. 'NoClassDefFoundError' volaría alrededor de tu cabeza. – BalusC

+0

Nunca dije que debería entrar en 'WEB-INF/lib', solo que podría copiarse en el proyecto para que pueda agregarse a la ruta de compilación. Eso no significa necesariamente que se incluya en la GUERRA. –

+5

Aún así, eso es completamente torpe y no es el enfoque recomendado. – BalusC

11

Agregue servlet-api.jar a su classpath. Puedes tomarlo de la carpeta lib de tomcat.

84

Si no se hace, sin embargo, hay que integrar el Tomcat en sus servidores vista. Haga clic con el botón derecho allí y elija Nuevo> Servidor. Seleccione la versión apropiada de Tomcat de la lista y complete el asistente.

Cuando se crea un nuevo proyecto Web dinámica , hay que seleccionar el servidor integrado de la lista como el motor de ejecución en el primero paso del asistente.

O cuando tiene una Proyecto Web dinámica existente, se puede establecer/cambiarla en tiempos de ejecución dirigidas entrada en las propiedades del proyecto. Eclipse agregará automáticamente todas sus bibliotecas a la ruta de compilación (¡sin tener una copia de ellas en el proyecto!).

+15

probablemente el mejor consejo en el largo plazo. – Bozho

+0

Esto fue más útil. – rdp

+0

@sage: Eclipse también lo hace para los proyectos nuevos creados después de integrar el servidor. – BalusC

1

Tuvo el mismo problema en Eclipse. Por algún motivo, no tenía el archivo servlet.jar en mi ruta de compilación. Lo que terminé haciendo fue copiar una carpeta "lib" de otro proyecto mío en el proyecto en el que estaba trabajando, luego ir manualmente a esa carpeta y agregar el archivo servlet.jar a la ruta de compilación (la opción aparece cuando tienes razón) haga clic en el archivo en el explorador del proyecto).

8

Tuve el mismo problema porque mi "Proyecto web dinámico" no tenía ninguna referencia al servidor instalado que quería utilizar y, por lo tanto, no tenía referencia a la API de servlet que proporciona el servidor.

Los siguientes pasos resueltos sin la adición de un Servlet API adicional a la Java Build Path (versión de Eclipse: Luna):

  • Haga clic derecho en su "Proyecto Web dinámica"
  • Seleccionar Propiedades
  • Seleccione facetas de proyecto en la lista en el lado izquierdo de las "Propiedades" del asistente
  • En el lado derecho del asistente, debería ver una pestaña llamada Runtimes. Seleccione la pestaña Tiempo de ejecución y compruebe el servidor que desea ejecutar el servlet.

Editar: si no hay un servidor listado puede crear uno nuevo en la pestaña Runtimes

+1

gracias, resolví mi problema con java 8, tomcate8 – kn3l

+1

Así se hace. ¡Muchas gracias! –

4

Si obtiene este error de compilación, significa que no se ha incluido el frasco servlet en la ruta de clase . La forma correcta de incluir este jar es agregar el jar Server Runtime a su proyecto de eclipse. Debe seguir los siguientes pasos para solucionar este problema: Puede descargar el servlet-api.jar de aquí http://www.java2s.com/Code/Jar/s/Downloadservletapijar.htm

Save it in directory. Right click on project -> go to properties->Buildpath and follow the steps.

Nota: El frasco que se muestran en la pantalla no son jar correcto.

puede seguir el paso para configurar.

enter image description here

enter image description here enter image description here enter image description here

5

Añadir a pom.xml

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.1.0</version> 
</dependency> 
Cuestiones relacionadas