ejemplo desde cero jsf tomcat jsf-2 classnotfoundexception

jsf - desde - No se puede inicializar FacesServlet en Tomcat 7-ClassNotFoundException



primefaces desde cero (3)

Estoy probando una sencilla aplicación de hello world en JSF, pero basado en la excepción lanzada por tomcat en el inicio, veo que FacesServlet no se está inicializando. Tengo los archivos jar requeridos myfaces-api, bundle, impl y commons beanutils, codec, collections, digester, logging. Aparte de eso, leí en otra pregunta sobre SO que también necesitaría jsf-api.jar and jsf-impl.jar que también coloqué en WEB-INF/lib y agregué a la ruta de compilación.

Todavía sin suerte. Estoy desarrollando en Ubuntu, usando Eclipse y Tomcat 7

Aquí está mi web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Doom</display-name> <display-name>JavaServerFaces</display-name> <!-- Change to "Production" when you are ready to deploy --> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <!-- Welcome page --> <welcome-file-list> <welcome-file>faces/welcome.xhtml</welcome-file> </welcome-file-list> <!-- JSF mapping --> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- Map these files with JSF --> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.faces</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> </web-app>

Esta es la excepción

java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1062) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4935) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5262) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5257) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724)


Después de 2 semanas encontré la respuesta. muy simple como siempre al final. necesitas copiar ambos

jsf-api.jar jsf-impl.jar

Para la lib tomcat tenerlo en el project lib no parece funcionar.


Tuve el mismo problema al trabajar con Eclipse Juno y Tomcat 7 - Tomee 1.6.0.

Quiero usar mojarra 2.0.3 y he encontrado muchos problemas en la implementación del servidor. Lo he solucionado borrando mis caras - *. Jar en Tomcat lib; luego agregue mojarra lib en el directorio de Tomcat y luego inicie el servidor. Ahora todo está bien, se está ejecutando.

Después de muchos cambios de configuraciones, he visto que lo que realmente funciona es la biblioteca instalada en el directorio de Tomcat, ignorando directamente las configuraciones de Eclipse. tal vez un error?

Finalmente resolví mi problema cambiando manualmente la biblioteca Tomcat por mi cuenta. No creo que ya sea un problema en el futuro.


Esta dependencia contiene bibliotecas necesarias y puede solucionar su problema

''org.glassfish:javax.faces:2.3.0''