Jsf 警告:此页调用XML命名空间http://richfaces.org/rich 使用前缀rich声明,但该命名空间不存在taglibrary

Jsf 警告:此页调用XML命名空间http://richfaces.org/rich 使用前缀rich声明,但该命名空间不存在taglibrary,jsf,richfaces,Jsf,Richfaces,我的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="htt

我的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>
这是如何造成的,我如何解决

java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
运行时类路径中缺少JSF实现本身。您似乎已经显式地配置了

<listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>

com.sun.faces.config.ConfigureListener
在您的
web.xml
中,但尚未安装

下载并安装Mojarra。较旧的版本由
jsfapi.jar
jsf impl.jar
文件组成,较新的版本(自2.0.9/2.1.6以来)由单个
javax.faces.jar
文件组成。请注意,RichFaces3.x实现在默认情况下与JSF2.x不兼容。您需要有一个与jsf2.x兼容的构建
richfaces-impl-jsf2-3.3.3.Final.jar
。另见

<listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>