Solución:
Solo agrega el javax.servlet
API a las dependencias de tiempo de compilación. No es necesario incluirlo en la compilación, ya lo proporciona el contenedor de servlets de destino.
Su pom actual sugiere que está implementando en un contenedor de servlets básico (Tomcat, Jetty, etc.) en lugar de un servidor de aplicaciones Java EE completo (WildFly, TomEE, GlassFish, Liberty, etc.); de lo contrario, se habría encontrado con la carga de clases. -problemas relacionados al proporcionar JSF junto con la aplicación web en lugar de utilizar la proporcionada por el contenedor.
En ese caso, agregar la siguiente dependencia debería ser suficiente para un contenedor Servlet 3.1 como Tomcat 8:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
O si en realidad está apuntando a un contenedor Servlet 3.0 anterior como Tomcat 7, cambie el <version>
para 3.0.1
(nota: no hay 3.0
debido a un error de su parte).
Si realmente implementa en un servidor de aplicaciones Java EE 7 como WildFly 8, use la siguiente dependencia en su lugar. Cubre toda la API de Java EE, incluida javax.servlet
(y javax.faces
, por lo que luego eliminaría esas dependencias individuales JSF API / impl):
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
También aquí, si está apuntando a un servidor de aplicaciones Java EE 6 más antiguo como JBoss AS 7, cambie el <version>
para 6.0
.
Esto funcionó para mí: si la solución proporcionada anteriormente no funciona Proyecto> Propiedades> Ruta de compilación de Java> Bibliotecas> Agregar biblioteca desde la pestaña de biblioteca> Elija el tiempo de ejecución del servidor> Siguiente> elija Apache Tomcat v 7.0> Finalizar> Aceptar
de otra manera, si está trabajando en eclipse ide, abra la carpeta del proyecto, seleccione Propiedades y haga clic en maven muestra la vista ‘Perfiles activos de Maven (separados por comas)’, ingrese “dev” .. después de actualizar el problema resuelto