Sofrimento com Seam Faces 3.0 + JSF 2.0 + TomCat 7

7 respostas
ThiagoInGuj

Fala ae galera, alguém aí já conseguiu rodar um projeto utilizando Seam Faces 3.0 + JSF 2.0 + TomCat 7 ???

Tá difícil!! Segue abaixo meus arquivos de configuração e mais abaixo o erro do tomcat:

Web.xml:

<?xml version=“1.0” encoding=“UTF-8”?>

<web-app xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a> xmlns=“<a href="http://java.sun.com/xml/ns/javaee">http://java.sun.com/xml/ns/javaee</a> xmlns:web=“<a href="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd</a> xsi:schemaLocation=“<a href="http://java.sun.com/xml/ns/javaee">http://java.sun.com/xml/ns/javaee</a> <a href="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd</a> version=“3.0”>

<display-name>JSF-SEAM-FACES</display-name>

<servlet>

<servlet-name>Faces Servlet</servlet-name>

<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>Faces Servlet</servlet-name>

<url-pattern>*.xhtml</url-pattern>

</servlet-mapping>

<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>

<listener>

<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>

</listener>
&lt;session-config&gt;
    &lt;session-timeout&gt;10&lt;/session-timeout&gt;
&lt;/session-config&gt;

<resource-env-ref>
<description>Object factory para o CDI Bean Manager</description>
<resource-env-ref-name>BeanManager</resource-env-ref-name>
<resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
</resource-env-ref>

</web-app>


arquivo context.xml

<?xml version=“1.0” encoding=“UTF-8”?>
<Context>
<Resource name=“BeanManager” auth=“Container” type="javax.enterprise.inject.spi.BeanManager"
factory=“org.jboss.weld.resources.ManagerObjectFactory” />
</Context>


o faces-config não acrescentei nada além do default

<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version=“2.0”>

</faces-config>

o arquivo dentro da pasta META-INF/services com o nome org.jboss.weld.environment.Container e dentro dele o conteúdo org.jboss.weld.environment.tomcat7.Tomcat7Container

  • fiz isso pois vi em vários posts que o tomcat 7 tem um bug que faz com que o weld reconheça o tomcat7 como tomcat 6 …

meu pom.xml

<repositories>

<repository>

<id>jboss-public-repository-group</id>

<name>JBoss Public Repository Group</name>

<url><a href="http://repository.jboss.org/nexus/content/groups/public/">http://repository.jboss.org/nexus/content/groups/public/</a></url>

<layout>default</layout>

<releases>

<enabled>true</enabled>

<updatePolicy>never</updatePolicy>

</releases>

<snapshots>

<enabled>true</enabled>

<updatePolicy>never</updatePolicy>

</snapshots>

</repository>

</repositories>
&lt;dependencies&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;org.jboss.weld&lt;/groupId&gt;
        &lt;artifactId&gt;weld-api&lt;/artifactId&gt;
        &lt;version&gt;1.0&lt;/version&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
        &lt;groupId&gt;org.jboss.weld.servlet&lt;/groupId&gt;
        &lt;artifactId&gt;weld-servlet&lt;/artifactId&gt;
        &lt;version&gt;1.1.2.Final&lt;/version&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
		   &lt;groupId&gt;org.jboss.seam.faces&lt;/groupId&gt;
		   &lt;artifactId&gt;seam-faces&lt;/artifactId&gt;
		   &lt;version&gt;3.0.2.Final&lt;/version&gt;
	&lt;/dependency&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;javax.faces&lt;/groupId&gt;
        &lt;artifactId&gt;jsf-api&lt;/artifactId&gt;
        &lt;version&gt;2.0.2-FCS&lt;/version&gt;
    &lt;/dependency&gt;
    
    &lt;dependency&gt;
        &lt;groupId&gt;javax.faces&lt;/groupId&gt;
        &lt;artifactId&gt;jsf-impl&lt;/artifactId&gt;
        &lt;version&gt;2.0.2-FCS&lt;/version&gt;
    &lt;/dependency&gt;
&lt;/dependencies&gt;
&lt;build&gt;
   
	&lt;plugins&gt;
				&lt;plugin&gt;
	                &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
	                &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
	                &lt;configuration&gt;
	                    &lt;source&gt;1.6&lt;/source&gt;
	                    &lt;target&gt;1.6&lt;/target&gt;
	                &lt;/configuration&gt;
	            &lt;/plugin&gt;
	           	
	&lt;/plugins&gt;

e o erro do tomcat :cry:

27/10/2011 16:19:22 com.sun.faces.config.ConfigureListener contextInitialized

INFO: Inicializando Mojarra 2.1.3 (FCS 20110908) para o contexto '/weld-tutorial

27/10/2011 16:19:23 com.sun.faces.spi.InjectionProviderFactory createInstance

INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes.  Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.

27/10/2011 16:19:23 com.sun.faces.config.ConfigureListener contextInitialized

GRAVE: Critical error during deployment:

com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:375)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: org.jboss.seam.solder.beanManager.BeanManagerUnavailableException: Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)

at org.jboss.seam.solder.beanManager.BeanManagerLocator.getBeanManager(BeanManagerLocator.java:91)

at org.jboss.seam.faces.environment.SeamApplicationFactory.getApplication(SeamApplicationFactory.java:47)

at com.sun.faces.application.InjectionApplicationFactory.getApplication(InjectionApplicationFactory.java:91)

at com.sun.faces.config.processor.AbstractConfigProcessor.getApplication(AbstractConfigProcessor.java:130)

at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:255)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)

at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)

at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:222)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:360)

 9 more

27/10/2011 16:19:23 org.apache.catalina.core.StandardContext listenerStart

GRAVE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener

java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)

at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:375)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225)

 8 more

Caused by: org.jboss.seam.solder.beanManager.BeanManagerUnavailableException: Failed to locate BeanManager using any of these providers: org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11), org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)

at org.jboss.seam.solder.beanManager.BeanManagerLocator.getBeanManager(BeanManagerLocator.java:91)

at org.jboss.seam.faces.environment.SeamApplicationFactory.getApplication(SeamApplicationFactory.java:47)

at com.sun.faces.application.InjectionApplicationFactory.getApplication(InjectionApplicationFactory.java:91)

at com.sun.faces.config.processor.AbstractConfigProcessor.getApplication(AbstractConfigProcessor.java:130)

at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:255)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)

at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)

at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:222)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:360)

 9 more

27/10/2011 16:19:23 org.apache.catalina.core.StandardContext startInternal

GRAVE: Error listenerStart

27/10/2011 16:19:23 org.apache.catalina.core.StandardContext startInternal

GRAVE: Context [/weld-tutorial] startup failed due to previous errors

27/10/2011 16:19:23 com.sun.faces.config.ConfigureListener contextDestroyed

GRAVE: Unexpected exception when attempting to tear down the Mojarra runtime

java.lang.IllegalStateException: O aplicativo não foi iniciado corretamente na inicialização. Não foi possível encontrar Fábrica: javax.faces.application.ApplicationFactory

at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:967)

at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:316)

at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:131)

at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:328)

at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4763)

at org.apache.catalina.core.StandardContext$4.run(StandardContext.java:5473)

at java.lang.Thread.run(Unknown Source)

27/10/2011 16:19:23 org.apache.coyote.AbstractProtocol start

É isso ae galera. Se alguem já conseguiu rodar isso aí me dá o caminho das pedras por favor!!!

Abs!!!

7 Respostas

ThiagoInGuj

Alguém me ajude aê…

Hebert_Coelho

Mano, poste na área web.

Aqui é apenas para Notícias.

OBS.: Confira o arquivo gerado pelo seu Maven. Talvez vc deva alterar alguma configuração sua.

alcirBarros

ThiagoInGuj

To com esse mesmo erro no meu projeto maven vc conseguiu resolver ?

ThiagoInGuj

alcirBarros:
ThiagoInGuj

To com esse mesmo erro no meu projeto maven vc conseguiu resolver ?

Cara realmente esse problema me estressou um bocado, então deixei pra lá. Tenta rodar com JBoss. Boa sorte!

alcirBarros

Então ThiagoInGuj consegui configura o meu projeto o erro era o local onde tava o arquivo context.xml
que deve fica dentro da pasta META-INF

Flw

ThiagoInGuj

Conseguiu mesmo? Então obrigado pela resposta. Pena que não estou usando mais JSF, mas de qualquer forma obrigado!

Y

Aqui é apenas para Notícias.

Criado 27 de outubro de 2011
Ultima resposta 19 de jun. de 2012
Respostas 7
Participantes 4