JSF Simple Anwendung mit Richfaces

TheCritter

Aktives Mitglied
Ich möchte eine Simple Webseite mit JSF 2.0 und Richfaces 3.3 schreiben. Leider bekomme ich immer komische ClassCastExceptions. Kennt jemand sowas? Ich vermute mal es passen irgendwelche Versionen nicht zueinander. Richfaces hab ich die Version 3.3.3. Tomcat läuft in version 7.0.22 und dann habe ich die aktuellen Myfaces und Mojarra Versionen in Version 2.0.x und 2.1.x ausprobiert. Aber bspw mit Mojarra 2.1.3 bekomme ich:
java.lang.ClassCastException: class org.ajax4jsf.context.AjaxContextImpl
java.lang.Class.asSubclass(Unknown Source)
org.ajax4jsf.context.AjaxContext.getCurrentInstance(AjaxContext.java:199)

Myfaces 2.1.3 bring wiederum
java.lang.ClassCastException: org.ajax4jsf.context.AjaxContextImpl cannot be cast to org.ajax4jsf.context.AjaxContext
org.ajax4jsf.context.AjaxContext.getCurrentInstance(AjaxContext.java:163)
org.richfaces.context.PartialViewContextFactoryImpl.getPartialViewContext(PartialViewContextFactoryImpl.java:46)

Was mache ich falsch?

Nachtrag, ich versuche mit Eclipse 3.7 ein JSF Projekt zu erstellen und nutze dazu die Jboss Tools. Ohne die Richfaces JARs läuft das, aber kopiere ich nur die JARs in das LIB Verzeichniss, so funktionierrt das nicht mehr. Auch ahbe ich natürlich die web.xml so verändert wie bei den Richfaces "getting Started".
 
Zuletzt bearbeitet:
Hast Du die richtige RF 3.3.3 Version für JSF 2? Ansonsten würde ich empfehlen RF 4 zu nutzen, da die Kompatibilität zwischen RF 3.3.3 und JSF 2 nicht berauschend ist.
 
Ja, ich habe die richfaces-impl-jsf2-3.3.3.Final.jar genommen. Die müsste ja theoretisch funktionieren. Mit der 4er komme ich gar nicht klar. Der will immer solche Google Klassen haben, die ich aber nicht finde. Oder hast du vielleicht ein Paket mit den benötigten Klassen?
 
Gegen Maven habe ich was 😉
Ich probiere gerade mit der 4.0er Version fon RF herum
Ich poste noch mal meine 2 Sachen. Vielleicht seht ihr ja was

web.xml
[XML]<?xml version="1.0"?>
<web-app version="2.5" 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-app_2_5.xsd">
<display-name>Inventar Tool</display-name>

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

<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>

<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>


<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>*.jsf</url-pattern>
</servlet-mapping>
</web-app>
[/XML]

Und das ist die Exception die beim Start vom Tomcat kommt:

Java:
Nov 08, 2011 5:05:21 PM org.apache.catalina.core.AprLifecycleListener init
Information: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files (x86)\PC Connectivity Solution\;C:\Program Files (x86)\AMD\AMD Brook+ 1.2.1_beta\sdk\lib;C:\Program Files (x86)\AMD\AMD CAL 1.2.1_beta\lib\lh64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\AMD\MCat\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;c:\Program Files\Java\jdk1.6.0_23\\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\MKVtoolnix;C:\Program Files (x86)\Common Files\DivX Shared\;C:\Program Files (x86)\OpenVPN\bin;C:\Program Files (x86)\smartmontools\bin;C:\Users\Daniel\Desktop\Tools\eclipse-jee-indigo-SR1-win32;;.
Nov 08, 2011 5:05:21 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Warnung: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Inventar Tool' did not find a matching property.
Nov 08, 2011 5:05:21 PM org.apache.coyote.http11.Http11Protocol init
Information: Initializing Coyote HTTP/1.1 on http-8080
Nov 08, 2011 5:05:21 PM org.apache.catalina.startup.Catalina load
Information: Initialization processed in 436 ms
Nov 08, 2011 5:05:21 PM org.apache.catalina.core.StandardService start
Information: Starting service Catalina
Nov 08, 2011 5:05:21 PM org.apache.catalina.core.StandardEngine start
Information: Starting Servlet Engine: Apache Tomcat/6.0.33
Nov 08, 2011 5:05:22 PM com.sun.faces.config.ConfigureListener contextInitialized
Information: Mojarra 2.1.3 (FCS 20110908) für Kontext '/Inventar_Tool' wird initialisiert.
Nov 08, 2011 5:05:23 PM com.sun.faces.mgbean.BeanManager addBean
Warnung: JSF1074: Verwalteter Bean mit dem Namen 'a4j' wurde bereits registriert.  Ersetzen des bestehenden Klassentyps des verwalteten Beans org.richfaces.VersionBean durch org.richfaces.VersionBean.
Nov 08, 2011 5:05:23 PM com.sun.faces.mgbean.BeanManager addBean
Warnung: JSF1074: Verwalteter Bean mit dem Namen 'a4jSkin' wurde bereits registriert.  Ersetzen des bestehenden Klassentyps des verwalteten Beans org.richfaces.skin.SkinBean durch org.richfaces.skin.SkinBean.
Nov 08, 2011 5:05:23 PM com.sun.faces.mgbean.BeanManager addBean
Warnung: JSF1074: Verwalteter Bean mit dem Namen 'richSkin' wurde bereits registriert.  Ersetzen des bestehenden Klassentyps des verwalteten Beans org.richfaces.skin.SkinBean durch org.richfaces.skin.SkinBean.
Nov 08, 2011 5:05:24 PM com.sun.faces.config.ConfigureListener contextInitialized
Schwerwiegend: Critical error during deployment: 
com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org.richfaces.renderkit.html.ToggleControlRenderer cannot be cast to javax.faces.render.ClientBehaviorRenderer
	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:4206)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
	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:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassCastException: org.richfaces.renderkit.html.ToggleControlRenderer cannot be cast to javax.faces.render.ClientBehaviorRenderer
	at com.sun.faces.config.processor.RenderKitConfigProcessor.addClientBehaviorRenderers(RenderKitConfigProcessor.java:356)
	at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:193)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:270)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:120)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:126)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:117)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:340)
	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)
	... 16 more

Nov 08, 2011 5:05:24 PM org.apache.catalina.core.StandardContext listenerStart
Schwerwiegend: 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! org.richfaces.renderkit.html.ToggleControlRenderer cannot be cast to javax.faces.render.ClientBehaviorRenderer
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
	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:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org.richfaces.renderkit.html.ToggleControlRenderer cannot be cast to javax.faces.render.ClientBehaviorRenderer
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:375)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225)
	... 15 more
Caused by: java.lang.ClassCastException: org.richfaces.renderkit.html.ToggleControlRenderer cannot be cast to javax.faces.render.ClientBehaviorRenderer
	at com.sun.faces.config.processor.RenderKitConfigProcessor.addClientBehaviorRenderers(RenderKitConfigProcessor.java:356)
	at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:193)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:270)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:120)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:126)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:117)
	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
	at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:340)
	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)
	... 16 more

Nov 08, 2011 5:05:24 PM org.apache.catalina.core.StandardContext start
Schwerwiegend: Error listenerStart
Nov 08, 2011 5:05:24 PM org.apache.catalina.core.StandardContext start
Schwerwiegend: Context [/Inventar_Tool] startup failed due to previous errors
Nov 08, 2011 5:05:24 PM com.sun.faces.config.ConfigureListener contextDestroyed
Schwerwiegend: Unexpected exception when attempting to tear down the Mojarra runtime
java.lang.IllegalStateException: Die Anwendung wurde bei Systemstart nicht einwandfrei initialisiert, Factory konnte nicht gefunden werden: 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:4245)
	at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4886)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4750)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
	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:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Nov 08, 2011 5:05:24 PM org.apache.coyote.http11.Http11Protocol start
Information: Starting Coyote HTTP/1.1 on http-8080
Nov 08, 2011 5:05:24 PM org.apache.jk.common.ChannelSocket init
Information: JK: ajp13 listening on /0.0.0.0:8009
Nov 08, 2011 5:05:24 PM org.apache.jk.server.JkMain start
Information: Jk running ID=0 time=0/19  config=null
Nov 08, 2011 5:05:24 PM org.apache.catalina.startup.Catalina start
Information: Server startup in 2773 ms
 
Zuletzt bearbeitet:
Wer gegen Maven etwas hat, dem ist nicht mehr zu helfen. 🙂 Aber gut.

Das sieht mir danach aus, dass jar's fehlen. Hast Du die RF-Doku genutzt, um das Projekt aufzusetzen?
 
Bei mir findet Maven immer irgendwas nicht. Daher hatte ich es irgendwann mal aufgegeben gehabt mich damit zu beschäftigen. Ok, wenn es funktioniert ist es sicher ein gutes Werkzeug.

Ich hatte mir die Hinweise der RF Doku (zuerst 3.3, dann 4.0) durchgelesen. Ok, ich lade gerade Eclipse 3.6.2 herunter. Vielleicht habe ich damit mehr Glück, da es dafür eine stable Version der JBoss Tools gibt.
 

Neue Themen


Zurück
Oben