Estou querendo usar o Ajax4jsf em meu projeto, mas estou usando JSF 1.1 e a implementacao da IBM.
Não posso atualizar para JSF 1.2 pois depende do gerente de projetos.
Baixei a versao 1.1.0 do Ajax4jsf e somente inseri nas minhas libs do projeto (com oscache), mas sem nenhuma configuracao. Mesmo assim já ocorre erros!
Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
javax.faces.FacesException: org.ajax4jsf.framework.DebugLifecycleFactory
Tenta usar o RichFaces da JBoss, ele tem alguns componentes A4j (Ajax4Jsf) que funcionam bem… agora, pra funcionar com o 1.1 vai ter que ser até no máximo a versão 3.1.3 se não me engano.
Mas oq eu preciso é de algo que eu possa usar com minha implementacao atual (IBM), ou pelo menos que eu mantenha esta atual e daqui pra frente use esta outra. Com este richFaces 3.1.3 poderia fazer isso sem alterar ou conflitar com o anterior?
opa
pode sim, é só colocar as libs do componente a mais, e colocar a assinatura delas no web-xml … eu num lembro como é, mas tem na página do richfaces… e ela é um componente compativel com a implementação JSF1.1 RI, portanto, deve ser compativel com a sua, e com outras futuras…
2008-08-07 08:06:39,343 DEBUG (StandardContext.java:3708) - Configuring event listener class 'com.sun.faces.config.ConfigureListener'
2008-08-07 08:06:39,406 DEBUG (StandardContext.java:3747) - Sending application start events
2008-08-07 08:06:53,328 ERROR (StandardContext.java:3767) - Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
javax.faces.FacesException: org.ajax4jsf.application.DebugLifecycleFactory
at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:553)
at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:411)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:229)
at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:689)
at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:371)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:306)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
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(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.InstantiationException: org.ajax4jsf.application.DebugLifecycleFactory
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:551)
Bom, dificil de saber o que está dando errado, mas vamos por partes…
Se você tirar o Ajax4JSF e o RichFaces do web.xml, e tirar os jars deles do projeto, ele compila sem lançar nenhuma excessão? Se não testou ainda, testa pra gente e fala o que acontece…
sim… a app roda normal, soh o falto de inserir essas tres libs do richfaces e rodar sem mais nenhuma conf já causa o erro. Se eu tirar volta a funcionar.
Então… é bem estranho que, mesmo que as libs estejam sendo compiladas, elas não deveriam dar problema no seu projeto a menos que algo estivesse fazendo referencia a elas…
Pode ser que tenha algo tentando fazer referencia a elas automaticamente pra você e você não esteja percebendo… Qual a plataforma de desenvolvimento que você está usando?
Bom, as libs do JSF independem dos componentes que você vai usar… se as libs do RichFaces estiverem ou não na pasta, as libs do JSF tem que ficar na pasta do mesmo jeito, e vão continuar sendo chamadas pelo seu web.xml… se as libs do rich estiverem na pasta mas não estiverem sendo chamadas, teoricamente o projeto tem que funcionar como se elas não estivessem ali, fossem só mais um arquivo… Realmente não conheço a implementação da IBM, então não sei dizer se tem algo que possa conflitar com o uso do richfaces, mas teoricamente colocar libs na pasta não deveria dar problemas…
Você pode procurar alguma informação sobre erros de compatibilidade entre a implementação de JSF da IBM e os componentes richfaces…