Erro ao iniciar o JSF

Galera alguém poderia me ajudar ?

Estou desenvolvendo uma aplicação usando Spring + Hibernate e JSF.

Estou com um problema ao iniciar o tomcat, acontece este erro no console do Eclipse.

SEVERE: StandardWrapper.Throwable java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:263) at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3917) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4201) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) at org.apache.catalina.core.StandardService.start(StandardService.java:450) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) 28/11/2006 16:55:28 org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet /scap threw load() exception java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:263) at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3917) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4201) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) at org.apache.catalina.core.StandardService.start(StandardService.java:450) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) 28/11/2006 16:55:28 org.apache.coyote.http11.Http11BaseProtocol start INFO: Starting Coyote HTTP/1.1 on http-8080 28/11/2006 16:55:29 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 28/11/2006 16:55:29 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/47 config=null 28/11/2006 16:55:29 org.apache.catalina.storeconfig.StoreLoader load INFO: Find registry server-registry.xml at classpath resource 28/11/2006 16:55:29 org.apache.catalina.startup.Catalina start INFO: Server startup in 11309 ms

Fiz todas as devidas configurações, nos arquivos:
[list]applicationContext.xml[/list]
[list]faces-config.xml[/list]
[list]web.xml[/list]

Nãos sei oque esta acontecendo, ja tentei resolver mas não consegui.

Alguém poderia me ajudar.

Cara, posta seu web.xml e o faces-config.xml pra gente dar uma avaliada.

Aqui estão or aquivos.

:arrow: web.xml

[quote]<?xml version="1.0" encoding="UTF-8"?>

<display-name>scap</display-name>

<context-param>
	<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
	<param-value>client</param-value>
</context-param>

<!-- Define the basename for a resource bundle for I18N -->
<context-param>
	<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
	<param-value>ApplicationResources</param-value>
</context-param>

<filter>
	<filter-name>HibernateFilter</filter-name>
	<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>

<filter-mapping>
	<filter-name>HibernateFilter</filter-name>
	<url-pattern>*.faces</url-pattern>
</filter-mapping>

<filter>
	<filter-name>ExtensionsFilter</filter-name>
	<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
</filter>

<filter-mapping>
	<filter-name>ExtensionsFilter</filter-name>
	<url-pattern>*.faces</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>ExtensionsFilter</filter-name>
	<url-pattern>/faces/*</url-pattern>
</filter-mapping>

<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Faces Servlet -->
<servlet>
	<servlet-name>FacesServlet</servlet-name>
	<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>

<!-- Faces Servlet Mapping -->
<servlet-mapping>
	<servlet-name>FacesServlet</servlet-name>
	<url-pattern>*.faces</url-pattern>
</servlet-mapping>

<session-config>
	<session-timeout>10</session-timeout>
</session-config>

<welcome-file-list>
	<welcome-file>start.html</welcome-file>
</welcome-file-list>

<security-constraint>
	<web-resource-collection>
		<web-resource-name>Página Inicial</web-resource-name>
		<url-pattern>/index.faces</url-pattern>
	</web-resource-collection>
	<auth-constraint>
		<role-name>manager</role-name>
	</auth-constraint>
</security-constraint>

<security-role>
	<role-name>manager</role-name>
</security-role>

<login-config>
	<auth-method>FORM</auth-method>
	<form-login-config>
		<form-login-page>/login.jsp</form-login-page>
		<form-error-page>/error.jsp</form-error-page>
	</form-login-config>
</login-config>

[/quote]

:arrow: faces-config.xml

[quote]<?xml version="1.0" encoding="UTF-8"?>

<application>
	<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
	<locale-config>
		<default-locale>pt_br</default-locale>
		<supported-locale>pt_br</supported-locale>
	</locale-config>
	<message-bundle>resources</message-bundle>
</application>

<navigation-rule>
	<from-view-id>/index.jsp</from-view-id>
	<navigation-case>
		<from-outcome>index</from-outcome>
		<to-view-id>/index.jsp</to-view-id>
	</navigation-case>
</navigation-rule>

[/quote]

Se alguém puder me ajudar ou me esclarecer o problema, fico muito agradecido.

Os jars do myfaces estão todos no classpath?

Seu faces-config.xml tá na versão 1.2 do jsf. O MyFaces implementa a versão 1.1, são incompatíveis.

Tentar mudar a versão no faces-config.xml

Estou usando os jsf-1.2_02.

Usei duas verssões do tomcat : tomcat-5.5.17 e tomcat-6.0.2.

Nas duas versões, adicionei os jar do JSF na pasta C:…\lib do tomcat.

Jars: jsf-api e jsf-impl.

Estava usando a versão do tomcat-5.5.17.

Mudei para o tomcat-6.0.2 e redsolveu aquele primeiro problema que eu postei no fórum.

[quote]SEVERE: StandardWrapper.Throwable
java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory[/quote]

Agora o tomcat esta inicializando sem erros, mas quando vou acessar a aplicação pelo browser, esta ocorrendo o seguinte problema:

[quote]29/11/2006 16:37:28 org.apache.catalina.authenticator.FormAuthenticator forwardToLoginPage
WARNING: Unexpected error forwarding to login page
org.apache.jasper.JasperException: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:565)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:426)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:404)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:316)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:244)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:263)
at com.sun.faces.util.MessageFactory.getApplication(MessageFactory.java:212)
at com.sun.faces.util.MessageFactory.getMessage(MessageFactory.java:101)
at com.sun.faces.util.MessageFactory.getMessage(MessageFactory.java:80)
at com.sun.faces.util.MessageUtils.getExceptionMessageString(MessageUtils.java:276)
at com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:159)
at org.apache.jsp.login_jsp._jspx_meth_f_005fview_005f0(login_jsp.java:104)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:78)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
… 20 more[/quote]

Aqui esta a JSP que estou tentando rodar:

[quote]

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:view>
	<f:loadBundle var="text" basename="resource"/>

	<head>
		<title>
			<h:outputLabel value="#{text['index.title']}"/>
		</title>
	</head>

	<body>
		<form action="/scap/j_security_check" method="POST">
	        <h1>
	        	<font color="#2121ff">
	        		<h:outputLabel value="#{text['index.subtitulo']}"/>
	        	</font>
	        </h1>

        	<br/>

			<div align="center">
				<h:outputText value="Usuario: "/>
				<h:inputText id="j_username" size="20"/>
				<br>
				<h:outputText value="Senha: "/>
				<h:inputSecret id="j_password" size="20"/>
				<br>
				<input type="submit" value="Entrar"/>
			</div>
		</form>
	</body>
</f:view>
[/quote]

:cry:
E agora quem poderá me ajudar.

Estranho. Então pq vc configurou o ExtensionsFilter do MyFaces no web.xml? Tá usando tomahawk?

Parece que é um erro no Tomcat. Me parece que esses listeners são definidos num tld no jsf-impl.jar e o Tomcat não consegue extrair essas informações.

Adicione esses listeners no seu web.xml que resolve:

[code]

com.sun.faces.config.ConfigureListener

com.sun.faces.application.WebappLifecycleListener [/code]

Abraços,

Legal flaviocamilo tive o mesmo problema e fiz o q vc falou e resolveu, valeu.

Estou com o mesmo erro no Jboss EAP 6.1

&lt;listener&gt;  
    	&lt;listener-class&gt;  
			com.sun.faces.config.ConfigureListener
		&lt;/listener-class&gt;  
	&lt;/listener&gt;  
  
	&lt;listener&gt;  
	    &lt;listener-class&gt;  
	        com.sun.faces.application.WebappLifecycleListener
		&lt;/listener-class&gt;  
	&lt;/listener&gt; 

Coloquei os listeners, mas agora estou com o seguinte erro:

rg.jboss.msc.service.StartException in service jboss.web.deployment.default-host

Alguém tem alguma idéia ?

Eu resolvi essa questão da seguinte forma, eu estava usando o arquivo jar e war “explodidos” no meu ear, foi só mudar a configuração do empacotamento para:

&lt;modules&gt;
                            &lt;webModule&gt;
                                &lt;groupId&gt;br.web&lt;/groupId&gt;
                                &lt;artifactId&gt;Web&lt;/artifactId&gt;
                                &lt;contextRoot&gt;/sistema&lt;/contextRoot&gt;
                                &lt;unpack&gt;false&lt;/unpack&gt;

                            &lt;/webModule&gt;
                            &lt;ejbModule&gt;
                                &lt;groupId&gt;br.ejb&lt;/groupId&gt;
                                &lt;artifactId&gt;Ejb&lt;/artifactId&gt;
                                &lt;unpack&gt;false&lt;/unpack&gt;
                            &lt;/ejbModule&gt;

                        &lt;/modules&gt;

OTHER SOLUTION: Remove JUnit external library at your project and add JUnit at IDE (exemple IDE Eclipse)