Reputation: 23
I have the following code in my Facelet:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:form>
<h:panelGrid columns="1">
<rich:paint2D id="painter" width="300" height="120"
data="#{paintData}" format="png" paint="#{paintBean.paint}" >
</rich:paint2D>
<h:panelGroup>
<h:outputText value="Change text color " />
<rich:colorPicker colorMode="hex" value="#{paintData.color}">
<a4j:support event="onchange" reRender="painter"/>
</rich:colorPicker>
</h:panelGroup>
</h:panelGrid>
</h:form>
</html>
And I have the following jars in my /lib
folder:
In UI I am getting the following message:
Warning: This page calls for XML namespace http://richfaces.org/rich declared with prefix rich but no taglibrary exists for that namespace.
And in console I got the following exception:
SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
How is this caused and how can I solve it?
Upvotes: 2
Views: 3862
Reputation: 1108567
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
The JSF implementation itself is missing in runtime classpath. You seem to have explicitly configured a
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
in your web.xml
while not having Mojarra installed.
Download and install Mojarra. Older versions are composed of jsf-api.jar
and jsf-impl.jar
files and newer versions (since 2.0.9/2.1.6) exist of a single javax.faces.jar
file. Note that RichFaces 3.x implementation is by default not JSF 2.x compatible. You need to have a JSF 2.x compatible build richfaces-impl-jsf2-3.3.3.Final.jar
. See also JBoss Wiki on the subject.
Upvotes: 2