Erro ao iniciar o JSF

10 respostas
D

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.

10 Respostas

G

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

D

Aqui estão or aquivos.

:arrow: web.xml

<?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>

:arrow: faces-config.xml

<?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>

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

F

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

D

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.

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

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

<blockquote>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</blockquote>

Aqui esta a JSP que estou tentando rodar:

<%@ 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>
D

:cry:
E agora quem poderá me ajudar.

F

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

F

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:

<listener>
	<listener-class>
		com.sun.faces.config.ConfigureListener
	</listener-class>
</listener>

<listener>
	<listener-class>
		com.sun.faces.application.WebappLifecycleListener
	</listener-class>
</listener>

Abraços,

J

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

M

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;
D

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

Criado 28 de novembro de 2006
Ultima resposta 12 de ago. de 2016
Respostas 10
Participantes 7