Esta reseña fue evaluado por nuestros expertos así se asegura la exactitud de este artículo.
Solución:
Asegúrese de tener el Eclipse y el servidor correctos
Asegúrese de estar usando al menos Eclipse IDE para Empresa Los desarrolladores de Java (con la Empresa). Contiene herramientas de desarrollo para crear proyectos web dinámicos e integrar fácilmente servletcontainers (esas herramientas son parte de Web Tools Platform, WTP). En caso de que ya tuviera Eclipse IDE para Java (sin Enterprise) e instalara manualmente algunos complementos relacionados, es probable que no se haya hecho correctamente. Será mejor que lo deseches y tomes el Eclipse IDE real para Enterprise Java one.
También debe asegurarse de tener un servletcontainer instalado en su máquina que implemente al menos la misma versión de Servlet API que el servletcontainer en el entorno de producción, por ejemplo, Apache Tomcat, Oracle GlassFish, JBoss AS/WildFly, etc. Por lo general, solo descargar el archivo ZIP y extraerlo es suficiente. En el caso de Tomcat, haga no descargue el formato EXE, eso es solo para entornos de producción basados en Windows. Consulte también ao Varios puertos (8005, 8080, 8009) requeridos por Tomcat Server en localhost ya están en uso.
Un servletcontainer es una implementación concreta de la API de Servlet. Tenga en cuenta que la descarga del SDK de Java EE en Oracle.com básicamente contiene GlassFish. Entonces, si ya ha descargado Java EE SDK, entonces básicamente ya tiene GlassFish. También tenga en cuenta que, por ejemplo, GlassFish y JBoss AS/WildFly son más Además de un servletcontainer, también son compatibles con JSF, EJB, JPA y todas las demás fantasías de Java EE. Ver también ao ¿Qué es exactamente Java EE?
Integre Server en Eclipse y asócielo con Project
Una vez que haya instalado Eclipse for Enterprise Java y un servletcontainer en su máquina, realice los siguientes pasos en Eclipse:
-
Integrar servletcontainer en Eclipse
un. A través de la vista Servidores
-
Abre el Servidores ver en el cuadro inferior.
-
Haga clic derecho allí y elija Nuevo > Servidor.
-
Elija la marca y la versión del servletcontainer adecuada y siga las instrucciones del asistente.
B. O, a través de las preferencias de Eclipse
-
Abierto Ventana > Preferencias > Servidor > Entornos de tiempo de ejecución.
-
Puede Agregar, Editar y Eliminar servidores aquí.
-
-
Asociar servidor con proyecto
un. en nuevo proyecto
-
Abre el Navegador/Explorador de proyectos en el lado izquierdo.
-
Haga clic derecho allí y elija Nuevo > Proyecto y luego en el menú Web > Proyecto web dinámico.
-
En el asistente, configure el Tiempo de ejecución de destino al servidor integrado.
B. O, en un proyecto existente
-
Haga clic con el botón derecho en el proyecto y elija Propiedades.
-
En Tiempos de ejecución dirigidos sección, seleccione el servidor integrado.
De cualquier manera, Eclipse tomará automáticamente las bibliotecas del servletcontainer en la ruta de compilación. De esta manera, podrá importar y usar la API de Servlet.
-
Nunca lleve archivos JAR sueltos específicos del servidor
En cualquier caso, no debería tener la necesidad de jugar en el Construir camino propiedad del proyecto. Deberías sobre todo Nunca copiar/descargar/mover/incluir manualmente las bibliotecas individuales específicas de servletcontainer como servlet-api.jar
, jsp-api.jar
, el-api.jar
, j2ee.jar
, javaee.jar
etc. Solo conduciría a futuros problemas de portabilidad, compatibilidad, classpath y mantenimiento, porque su aplicación web no funcionaría cuando se implementa en un servletcontainer de una marca/versión diferente de donde se obtuvieron originalmente esas bibliotecas.
En caso de que esté utilizando Maven, debe asegurarse absolutamente de que las bibliotecas específicas de servletcontainer que ya proporciona el tiempo de ejecución de destino estén marcadas como
.
Aquí hay algunas excepciones típicas que puede obtener cuando tira basura al /WEB-INF/lib
o incluso /JRE/lib
, /JRE/lib/ext
etc. con bibliotecas específicas de servletcontainer en un intento descuidado de corregir los errores de compilación:
- java.lang.NullPointerException en org.apache.jsp.index_jsp._jspInit
- java.lang.NoClassDefFoundError: javax/el/ELResolver
- java.lang.NoSuchFieldError: IS_DIR
- java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
- java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
- org.apache.jasper.JasperException: el método getJspApplicationContext(ServletContext) no está definido para el tipo JspFactory
- java.lang.VerifyError: (clase: org/apache/jasper/runtime/JspApplicationContextImpl, método: createELResolver firma: ()Ljavax/el/ELResolver;) Argumento incompatible con la función
- jarra no cargada. Consulte Servlet Spec 2.3, sección 9.7.2. Clase infractora: javax/servlet/Servlet.class
PASO 1
Ir propiedades de su proyecto (con alternativa+Ingresar o clic derecho)
PASO 2
controlar Apache Tomcat v7.0 bajo Tiempo de ejecución objetivo y funciona.
Pequeña diferencia con Hari:
Haga clic con el botón derecho en el proyecto —> Propiedades —> Java Build Path —> Agregar biblioteca… —> Tiempo de ejecución del servidor —> Apache Tomcat —-> Finalizar.
Valoraciones y comentarios
Te invitamos a añadir valor a nuestra información contribuyendo tu experiencia en las anotaciones.