[Resolvido] Erro ao utilizar MyFaces 2.2 no Jboss 7.1

Alguém já passou por este erro ao rodar uma app JSF 2(Myfaces 2.2) no JBoss 7.1.

13:50:56,770 GRAVE [org.apache.myfaces.webapp.AbstractFacesInitializer] (MSC service thread 1-4) An error occured while initializing MyFaces: Class org.jboss.as.weld.webtier.jsf.WeldApplicationFactory is no javax.faces.application.ApplicationFactory: java.lang.IllegalArgumentException: Class org.jboss.as.weld.webtier.jsf.WeldApplicationFactory is no javax.faces.application.ApplicationFactory
	at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:354) [myfaces-api-2.2.0-20121204.090345-18.jar:2.2.0-SNAPSHOT]
	at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:317) [myfaces-api-2.2.0-20121204.090345-18.jar:2.2.0-SNAPSHOT]
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:206) [myfaces-api-2.2.0-20121204.090345-18.jar:2.2.0-SNAPSHOT]
	at org.apache.myfaces.config.FacesConfigurator.configureApplication(FacesConfigurator.java:510) [myfaces-bundle-2.2.0-20121204.090346-18.jar:2.2.0-SNAPSHOT]
	at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:419) [myfaces-bundle-2.2.0-20121204.090346-18.jar:2.2.0-SNAPSHOT]
	at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:370) [myfaces-bundle-2.2.0-20121204.090346-18.jar:2.2.0-SNAPSHOT]
	at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73) [myfaces-bundle-2.2.0-20121204.090346-18.jar:2.2.0-SNAPSHOT]
	at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:143) [myfaces-bundle-2.2.0-20121204.090346-18.jar:2.2.0-SNAPSHOT]
	at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:119) [myfaces-bundle-2.2.0-20121204.090346-18.jar:2.2.0-SNAPSHOT]
	at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
	at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_35]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_35]
	at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_35]

Em alguns post pela internet eu vi comentário em que era necessário adicionar o seguinte no web.xml, eu adicionei mais o erro
ainda continua.

<context-param>
  <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
  <param-value>true</param-value>
</context-param>

Alguém teria uma solução pra este problema.?

Olá

Sim se voce deseja utilizar as libs da sua aplicação deve utilizar essa configuração.

Também remova as dependencias da sua aplicação em relação ao JBoss 7.

No WEB-INF crie o aquivo jboss-deployment-structure.xml

<jboss-deployment-structure> <deployment> <exclusions> <module name="javax.faces.api" /> <module name="com.sun.jsf-impl" /> </exclusions> </deployment> </jboss-deployment-structure>

Testa e verifica se funciona. Se num rolar vamos pensar em uma outra alternativa :slight_smile:

Abs

[quote=jmag]Olá

Sim se voce deseja utilizar as libs da sua aplicação deve utilizar essa configuração.

Também remova as dependencias da sua aplicação em relação ao JBoss 7.

No WEB-INF crie o aquivo jboss-deployment-structure.xml

<jboss-deployment-structure> <deployment> <exclusions> <module name="javax.faces.api" /> <module name="com.sun.jsf-impl" /> </exclusions> </deployment> </jboss-deployment-structure>

Testa e verifica se funciona. Se num rolar vamos pensar em uma outra alternativa :slight_smile:

Abs[/quote]

jmag eu já tentei remover os módulos do jsf default que vem no jboss da forma que tu postou, porém só adicionei o slot.
Mai não resolveu meu problema… os post que tem na internet são bem vagos sobre esse assunto.

<jboss-deployment-structure>   
  <deployment>  
    <exclusions>  
      <module name="javax.faces.api" slot="main" />  
      <module name="com.sun.jsf-impl" />  
    </exclusions>  
  </deployment>  
</jboss-deployment-structure> 

Essa configuração não foi feita para o JB 7.x

Para alterar a implementação do JSF no JB é um saco.

Na boa? Procure primeiro por colocar o mojarra puro no JB 7 que você acha mais material, depois só troca para o myfaces o que for necessário.

se prepare, é um saco. ^^

[quote=Hebert Coelho]Essa configuração não foi feita para o JB 7.x

Para alterar a implementação do JSF no JB é um saco.

Na boa? Procure primeiro por colocar o mojarra puro no JB 7 que você acha mais material, depois só troca para o myfaces o que for necessário.

se prepare, é um saco. ^^[/quote]

Na verdade esse projeto e um PoC eu já criei ele usando o mojarra e ta de boa… dai eu só queria mudar a versão do jsf pro MyFaces é
acabou dando esse erro que até agora não encontrei uma solução… na internet tem alguns post sobre esse assunto mais e muito vago.
Hebert tu tem algum material que fala sobre esse assunto? sabe como resolver isso?

[quote=jweibe][quote=Hebert Coelho]Essa configuração não foi feita para o JB 7.x

Para alterar a implementação do JSF no JB é um saco.

Na boa? Procure primeiro por colocar o mojarra puro no JB 7 que você acha mais material, depois só troca para o myfaces o que for necessário.

se prepare, é um saco. ^^[/quote]

Na verdade esse projeto e um PoC eu já criei ele usando o mojarra e ta de boa… dai eu só queria mudar a versão do jsf pro MyFaces é
acabou dando esse erro que até agora não encontrei uma solução… na internet tem alguns post sobre esse assunto mais e muito vago.
Hebert tu tem algum material que fala sobre esse assunto? sabe como resolver isso?[/quote]Tinha achado na net mano, agora não tenho em mãos.
Procure por jboss 7.1 change mojarra version

Cara sinceramente criei um projeto de testes aqui com MyFaces 2.1.9 e JBoss AS 7.1.1 e não tive problemas

15:02:07,539 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "TestJSF.war"

Link da App…

http://www.4shared.com/zip/MBorzxdi/TestJSF.html

Abs

Mais alguns logs…

15:02:18,776 BOM [org.apache.myfaces.view.facelets.compiler.CompilationManager] (http--0.0.0.0-8080-1) Finished Unit: /resources/demo/input.xhtml at line 19 and column 86 <h:commandButton> 15:02:18,776 BOM [org.apache.myfaces.view.facelets.compiler.CompilationManager] (http--0.0.0.0-8080-1) Finished Unit: TextUnit[3] 15:02:18,777 BOM [org.apache.myfaces.view.facelets.compiler.CompilationManager] (http--0.0.0.0-8080-1) Finished Unit: /resources/demo/input.xhtml at line 16 and column 14 <h:form> 15:02:18,777 BOM [org.apache.myfaces.view.facelets.compiler.CompilationManager] (http--0.0.0.0-8080-1) Finished Unit: TextUnit[1] 15:02:18,780 BOM [org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate] (http--0.0.0.0-8080-1) /resources/demo/input.xhtml at line 16 and column 14 <h:form> Component[9_462621401_ae9f463] Created: javax.faces.component.html.HtmlForm

jmag eu dar uma olhada no teu projeto… vlw

jmag olhando no web.xml do seu projeto só tem as configurações padrão de um projeto jsf utilizando mojorra… quando você cria pelo eclipse só vem a configuração do
Faces Servlet e do mapeamento do url-pattern dai tu adicionou o WAR_BUNDLES_JSF_IMPL.
Criei um projeto igual ao que você postou acima mais sem o jboss-deployment-structure.xml‏ e funcionou na moral… tudo certo.
Porém o projeto antigo que ta dando erro eu criei pelo eclipse e na hora de selecionar os jar do jsf e configurar o Faces Servlet eu ‘setava’ os jar
direto para os jar do myfaces é o meu web.xml gerado vem cheio de configuração do myfaces, será que é esse o problema?

hehe não sei talvez seja isso rsrs

Cara esse negócio deve ser meio exotérico :stuck_out_tongue:

Eu to com um problema sério de não me lembrar de como as coisas funcionam… só testando pra ter certeza rsrs.

Abs

Valeu pelas dicas ai…

Tranquilo cara… quando precisar é só dizer…

Os projetos da comunidade JBoss tem bastante suporte, acredito que questões mais complexas ou conceituais podem ser melhor resolvidas pelo fórum no https://www.jboss.org.

Abs