3 Replies Latest reply on Apr 17, 2007 11:37 AM by klsateesh

    java.lang.ClassCastException: org.apache.el.ExpressionFactor

      Hi All,

      I have downloaded the latest versions of ajax4jsf and richfaces and trying to deploy the demo app in tomcat6.0.9 .

      I am getting the following in my log file..

      WARNING: JSF1033: Resource injection is DISABLED. ???

      
       Apr 16, 2007 9:58:16 AM org.apache.catalina.core.AprLifecycleListener init
      INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.5.0_10/jre/lib/i386/client:/usr/java/jdk1.5.0_10/jre/lib/i386:/usr/java/jdk1.5.0_10/jre/../lib/i386:/local/mozilla-1.7.12gtk2/mozilla::/usr/X11R6/lib
      Apr 16, 2007 9:58:16 AM org.apache.coyote.http11.Http11Protocol init
      INFO: Initializing Coyote HTTP/1.1 on http-8080
      Apr 16, 2007 9:58:16 AM org.apache.catalina.startup.Catalina load
      INFO: Initialization processed in 508 ms
      Apr 16, 2007 9:58:16 AM org.apache.catalina.core.StandardService start
      INFO: Starting service Catalina
      Apr 16, 2007 9:58:16 AM org.apache.catalina.core.StandardEngine start
      INFO: Starting Servlet Engine: Apache Tomcat/6.0.9
      Apr 16, 2007 9:58:20 AM org.apache.catalina.startup.HostConfig deployWAR
      INFO: Deploying web application archive JSFTestWebApp-0.0.1.war
      Apr 16, 2007 9:58:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
      INFO: validateJarFile(/home/dpa/kommines/Servers/TestInstance/apache-tomcat-6.0.9/webapps/JSFTestWebApp-0.0.1/WEB-INF/lib/servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
      Apr 16, 2007 9:58:22 AM com.sun.faces.config.ConfigureListener contextInitialized
      INFO: Initializing Sun's JavaServer Faces implementation (1.2_03-b09-FCS) for context '/JSFTestWebApp-0.0.1'
      Apr 16, 2007 9:58:23 AM com.sun.faces.spi.InjectionProviderFactory createInstance
      WARNING: JSF1033: Resource injection is DISABLED.
      log4j:WARN No appenders could be found for logger (org.ajax4jsf.framework.resource.InternetResourceBuilder).
      log4j:WARN Please initialize the log4j system properly.
      Apr 16, 2007 9:58:25 AM org.apache.catalina.startup.HostConfig deployWAR
      INFO: Deploying web application archive trinidad-demo-incubator-m1-SNAPSHOT.war
      Apr 16, 2007 9:58:25 AM org.apache.myfaces.config.FacesConfigurator feedStandardConfig
      INFO: Reading standard config org/apache/myfaces/resource/standard-faces-config.xml
      Apr 16, 2007 9:58:25 AM org.apache.myfaces.config.FacesConfigurator feedClassloaderConfigurations
      INFO: Reading config jar:file:/home/dpa/kommines/Servers/TestInstance/apache-tomcat-6.0.9/webapps/trinidad-demo-incubator-m1-SNAPSHOT/WEB-INF/lib/jsf-facelets-1.1.6.jar!/META-INF/faces-config.xml
      Apr 16, 2007 9:58:26 AM org.apache.myfaces.config.FacesConfigurator feedClassloaderConfigurations
      INFO: Reading config jar:file:/home/dpa/kommines/Servers/TestInstance/apache-tomcat-6.0.9/webapps/trinidad-demo-incubator-m1-SNAPSHOT/WEB-INF/lib/trinidad-impl-incubator-m1-SNAPSHOT.jar!/META-INF/faces-config.xml
      Apr 16, 2007 9:58:26 AM org.apache.myfaces.config.FacesConfigurator feedWebAppConfig
      INFO: Reading config /WEB-INF/faces-config.xml
      Apr 16, 2007 9:58:27 AM org.apache.myfaces.webapp.StartupServletContextListener initFaces
      INFO: ServletContext '/home/dpa/kommines/Servers/TestInstance/apache-tomcat-6.0.9/webapps/trinidad-demo-incubator-m1-SNAPSHOT/' initialized.
      Apr 16, 2007 9:58:27 AM org.apache.myfaces.webapp.StartupServletContextListener handleSerialFactory
      INFO: Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
      Apr 16, 2007 9:58:27 AM org.apache.coyote.http11.Http11Protocol start
      INFO: Starting Coyote HTTP/1.1 on http-8080
      Apr 16, 2007 9:58:27 AM org.apache.jk.common.ChannelSocket init
      INFO: JK: ajp13 listening on /0.0.0.0:8009
      Apr 16, 2007 9:58:27 AM org.apache.jk.server.JkMain start
      INFO: Jk running ID=0 time=0/33 config=null
      Apr 16, 2007 9:58:27 AM org.apache.catalina.startup.Catalina start
      INFO: Server startup in 10830 ms
      
      
      


      The tree is not getting displayed and instead the xhtml content is shown in the browser
       <h:html>
       <h:form id="helloForm">
       <h:panelGroup>
       <h:table>
       <h:tr>
       <h:td>
       <rich:tree style="width:300px" value="#{formatManager.data}" var="item" nodeFace="#{item.type}">
       <rich:treeNode type="library">
      <h:outputText value="#{item.type}"/>
      </rich:treeNode>
       <rich:treeNode type="artist">
      <h:outputText value="#{item.name}"/>
      </rich:treeNode>
       <rich:treeNode type="album">
      <h:outputText value="#{item.title}"/>
      </rich:treeNode>
       <rich:treeNode type="song">
      <h:outputText value="#{item.title}"/>
      </rich:treeNode>
      </rich:tree>
      </h:td>
      </h:tr>
      </h:table>
      </h:panelGroup>
      </h:form>
      </h:html>
      


      I have the below in my web.xml file

      <context-param>
       <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
       <param-value>.xhtml</param-value>
       </context-param>
       <context-param>
       <param-name>org.ajax4jsf.SKIN</param-name>
       <param-value>blueSky</param-value>
       </context-param>
       <context-param>
       <param-name>com.sun.faces.expressionFactory</param-name>
       <param-value>org.apache.el.ExpressionFactoryImpl</param-value>
       </context-param>
       <context-param>
       <param-name>javax.faces.CONFIG_FILES</param-name>
       <param-value>/WEB-INF/faces-config.xml</param-value>
       </context-param>
       <context-param>
       <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
       <param-value>server</param-value>
       </context-param>
       <context-param>
       <param-name>facelets.REFRESH_PERIOD</param-name>
       <param-value>2</param-value>
       </context-param>
       <context-param>
       <param-name>facelets.DEVELOPMENT</param-name>
       <param-value>true</param-value>
       </context-param>
      
       <context-param>
       <param-name>com.sun.faces.validateXml</param-name>
       <param-value>true</param-value>
       </context-param>
       <context-param>
       <param-name>com.sun.faces.verifyObjects</param-name>
       <param-value>true</param-value>
       </context-param>
       <!-- *********** ajax4jsf ************* -->
       <context-param>
       <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
       <param-value>com.sun.facelets.FaceletViewHandler</param-value>
       </context-param>
      
       <filter>
       <display-name>Ajax4jsf Filter</display-name>
       <filter-name>ajax4jsf</filter-name>
       <filter-class>org.ajax4jsf.Filter</filter-class>
       </filter>
      
       <filter-mapping>
       <filter-name>ajax4jsf</filter-name>
       <servlet-name>Faces Servlet</servlet-name>
       <dispatcher>REQUEST</dispatcher>
       <dispatcher>FORWARD</dispatcher>
       <dispatcher>INCLUDE</dispatcher>
       </filter-mapping>
      
       <!-- *** Faces Servlet *** -->
       <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>
       <servlet-mapping>
       <servlet-name>Faces Servlet</servlet-name>
       <url-pattern>*.faces</url-pattern>
       </servlet-mapping>
      


      Thanks
      Sateesh

        • 1. Re: java.lang.ClassCastException: org.apache.el.ExpressionFa

          You could not deploy just the jar files, but the application that use them. So, what the application you are speaking about ?

          • 2. Re: java.lang.ClassCastException: org.apache.el.ExpressionFa

            Hi,

            I downloaded the demo from the Wiki and i couldn't find the Sources so i used a decompiler to generate the Sources and here is the Code..

            I have one Backing Bean and one view (.jsp)..

             public class Bean
            {
            
             public String getIcon()
             {
             return icon;
             }
            
             public void setIcon(String icon)
             {
             this.icon = icon;
             }
            
             public String getCommandButtonCaption()
             {
             return commandButtonCaption;
             }
            
             public void setCommandButtonCaption(String commandButtonCaption)
             {
             this.commandButtonCaption = commandButtonCaption;
             }
            
             public void changeIcons(ActionEvent event)
             {
             if(null == icon)
             {
             iconCollapsed = "/images/header.png";
             iconExpanded = "/images/item.png";
             iconLeaf = "/images/ajax_process.gif";
             icon = "/images/ajax_stoped.gif";
             commandButtonCaption = "Set defoult icons";
             } else
             {
             iconCollapsed = null;
             iconExpanded = null;
             iconLeaf = null;
             icon = null;
             commandButtonCaption = "Set user icons";
             }
             }
            
             public Bean()
             {
             switchType = "client";
             selectedNode = null;
             selectedNodeChildren = new LinkedHashMap();
             commandButtonCaption = "Set user icons";
             iconCollapsed = null;
             iconExpanded = null;
             iconLeaf = null;
             icon = null;
             dragOn = true;
             counter = 0;
             try
             {
             FacesContext context = FacesContext.getCurrentInstance();
             data = XmlTreeDataBuilder.build(new InputSource(getClass().getResourceAsStream("test.xml")));
             TreeNode pomData = XmlTreeDataBuilder.build(new InputSource(getClass().getResourceAsStream("pom_sample.xml")));
             java.util.Map.Entry entry;
             for(Iterator children = pomData.getChildren(); children.hasNext(); data.addChild(new Long(1L), (TreeNode)entry.getValue()))
             entry = (java.util.Map.Entry)children.next();
            
             }
             catch(SAXException e)
             {
             e.printStackTrace();
             }
             catch(IOException e)
             {
             e.printStackTrace();
             }
             data1 = new TreeNodeImpl();
             data1.setData("Root node");
             for(int i = 0; i < 10; i++)
             {
             TreeNodeImpl child = new TreeNodeImpl() {
             public Object getData(){
             return super.getData() + " " + counter;
             }
             };
             String id = Integer.toString(i);
             child.setData("Node: " + id);
             data1.addChild(id, child);
             }
            
             initData();
             }
            
             public TreeNode getData()
             {
             return data;
             }
            
             public String getSwitchType()
             {
             return switchType;
             }
            
             public void setSwitchType(String switchType)
             {
             this.switchType = switchType;
             }
            
             private UITree getTree(FacesEvent event)
             {
             UIComponent component = event.getComponent();
             if(component instanceof UITree)
             return (UITree)component;
             if(component instanceof UITreeNode)
             return (UITree)component.getParent();
             else
             return null;
             }
            
             public void up()
             {
             if(selectedNode.getParent() != null)
             selectedNode = selectedNode.getParent();
             initData();
             }
            
             public void onSelect(NodeSelectedEvent event)
             {
             System.out.println("Node selected: " + getTree(event).getRowKey());
             if(getTree(event).getTreeNode() != null)
             {
             selectedNode = getTree(event).getTreeNode();
             initData();
             }
             }
            
             public void onSelectInc(NodeSelectedEvent event)
             {
             counter++;
             UITree tree = getTree(event);
             TreeRowKey key = (TreeRowKey)tree.getRowKey();
             Set keys = tree.getAjaxKeys();
             if(keys == null)
             {
             keys = new HashSet();
             tree.setAjaxKeys(keys);
             }
             AjaxContext ajaxCtx = AjaxContext.getCurrentInstance();
             FacesContext fctx = FacesContext.getCurrentInstance();
             tree.setRowKey(null);
             for(int i = 0; i < 5; i++)
             {
             ListRowKey dirtyKey = new ListRowKey(Integer.toString(i));
             keys.add(dirtyKey);
             tree.setRowKey(dirtyKey);
             ajaxCtx.addComponentToAjaxRender(tree.getParent(), tree.getClientId(fctx));
             }
            
             tree.setRowKey(key);
             }
            
             private void initData()
             {
             selectedNodeChildren.clear();
             if(selectedNode != null)
             {
             Iterator iter = selectedNode.getChildren();
             int i = 0;
             java.util.Map.Entry entry;
             for(; iter.hasNext(); selectedNodeChildren.put(((TreeNode)entry.getValue()).getData(), Integer.toString(i++)))
             entry = (java.util.Map.Entry)iter.next();
            
             }
             }
            
             public void onExpand(NodeExpandedEvent event)
             {
             UITree tree = getTree(event);
             System.out.println("Node " + (tree.isExpanded() ? "expanded" : "collapsed") + " " + tree.getRowKey());
             }
            
             public String expand()
             {
             if(expandPath != null && expandPath.length() != 0)
             try
             {
             tree.queueNodeExpand(new ListRowKey(expandPath));
             }
             catch(IOException e)
             {
             e.printStackTrace();
             }
             return null;
             }
            
             public String getExpandPath()
             {
             return expandPath;
             }
            
             public void setExpandPath(String expandPath)
             {
             this.expandPath = expandPath;
             }
            
             public UIComponent getTree()
             {
             return tree;
             }
            
             public void setTree(UIComponent tree)
             {
             this.tree = (UITree)tree;
             }
            
             public String collapseAll()
             throws IOException
             {
             tree.queueCollapseAll();
             return null;
             }
            
             public String expandAll()
             {
             try
             {
             tree.queueExpandAll();
             }
             catch(IOException e)
             {
             e.printStackTrace();
             }
             return null;
             }
            
             public Map getSelectedNodeChildren()
             {
             return selectedNodeChildren;
             }
            
             public void setSelectedNodeChildren(Map selectedNodeChildren)
             {
             this.selectedNodeChildren = selectedNodeChildren;
             }
            
             public TreeNode getSelectedNode()
             {
             return selectedNode;
             }
            
             public void setSelectedNode(TreeNode selectedNode)
             {
             this.selectedNode = selectedNode;
             }
            
             public void processDrop(DropEvent dropEvent)
             {
             System.out.println("Should be printed twice per event!!!");
             System.out.println(dropEvent);
             System.out.println("DragValue: " + dropEvent.getDragValue());
             System.out.println("DropValue: " + dropEvent.getDropValue());
             System.out.println("Drag row data: " + getTree(dropEvent).getRowData(dropEvent.getDragValue()));
             System.out.println("Drop row data: " + getTree(dropEvent).getRowData(dropEvent.getDropValue()));
             System.out.println("+++++");
             }
            
             public String getIconCollapsed()
             {
             return iconCollapsed;
             }
            
             public void setIconCollapsed(String iconCollapsed)
             {
             this.iconCollapsed = iconCollapsed;
             }
            
             public String getIconExpanded()
             {
             return iconExpanded;
             }
            
             public void setIconExpanded(String iconExpanded)
             {
             this.iconExpanded = iconExpanded;
             }
            
             public String getIconLeaf()
             {
             return iconLeaf;
             }
            
             public void setIconLeaf(String iconLeaf)
             {
             this.iconLeaf = iconLeaf;
             }
            
             public String getPathToExpand()
             {
             return pathToExpand;
             }
            
             public void setPathToExpand(String pathToExpand)
             {
             this.pathToExpand = pathToExpand;
             }
            
             public String expandNode()
             {
             String pathToExpand = getPathToExpand();
             if(pathToExpand != null && pathToExpand.trim().length() != 0)
             try
             {
             ((UITree)getTree()).queueNodeExpand(new ListRowKey(pathToExpand));
             }
             catch(IOException e)
             {
             throw new FacesException(e);
             }
             return null;
             }
            
             public boolean isDragOn()
             {
             return dragOn;
             }
            
             public void setDragOn(boolean dragOn)
             {
             this.dragOn = dragOn;
             }
            
             public TreeNodeImpl getData1()
             {
             return data1;
             }
            
             public void setData1(TreeNodeImpl data1)
             {
             this.data1 = data1;
             }
            
             private String switchType;
             private TreeNode data;
             private TreeNode selectedNode;
             private Map selectedNodeChildren;
             private String commandButtonCaption;
             private String iconCollapsed;
             private String iconExpanded;
             private String iconLeaf;
             private String icon;
             private String pathToExpand;
             private boolean dragOn;
             private TreeNodeImpl data1;
             private int counter;
             private String expandPath;
             private UITree tree;
            
            }
            


            JSP Code (tree.jsp)

             <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
            <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
            <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
            <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j" %>
            <%@ taglib uri="http://richfaces.ajax4jsf.org/drag-drop" prefix="dnd" %>
            <%@ taglib uri="http://richfaces.ajax4jsf.org/tree" prefix="rich"%>
            <html>
             <head>
             <title></title>
             <style type="text/css">
             .inputs {
             font-size : 11px;
             font-family : verdana;
             }
             .customNode {
             color : #00FFFF;
             cursor: crosshair;
             }
            
             </style>
             </head>
             <body>
             <f:view>
             <a4j:outputPanel ajaxRendered="true">
             <h:messages />
             </a4j:outputPanel>
            
             <h:form>
            
             <dnd:dragIndicator id="treeIndicator">
             <f:facet name="single">
             <f:verbatim>{marker} <br /> {treeParam} <br /> {nodeParam}</f:verbatim>
             </f:facet>
             </dnd:dragIndicator>
            
             <h:outputText value="Change tree switchType:" />
             <h:selectOneRadio value="#{bean.switchType}" onclick="submit()">
             <f:selectItem itemLabel="client" itemValue="client" />
             <f:selectItem itemLabel="server" itemValue="server" />
             <f:selectItem itemLabel="ajax" itemValue="ajax" />
             </h:selectOneRadio>
             <h:outputText value="SwitchType is: #{bean.switchType}" />
             <br />
             <h:outputText value="Drag switch:" />
             <h:selectOneRadio value="#{bean.dragOn}" onclick="submit()">
             <f:selectItem itemLabel="on" itemValue="#{true}" />
             <f:selectItem itemLabel="off" itemValue="#{false}" />
             </h:selectOneRadio>
             <h:outputText value="Drag is: #{bean.dragOn ? 'on' : 'off'}" />
             <br />
             <h:commandButton value="#{bean.commandButtonCaption}"
             actionListener="#{bean.changeIcons}" />
            
             <rich:tree id="tree" switchType="#{bean.switchType}"
             value="#{bean.data}" var="data"
             nodeFace="#{data.name != 'param-value' ? 'input' : 'text'}"
             changeExpandListener="#{bean.onExpand}"
             nodeSelectListener="#{bean.onSelect}" binding="#{bean.tree}"
             onselected="window.status='selectedNode: '+event.selectedNode"
             onexpand="window.status='expandedNode: '+event.expandedNode"
             oncollapse="window.status='collapsedNode: '+event.collapsedNode"
             ajaxSubmitSelection="true" reRender="outputText, selectOneListbox"
             preserveModel="none"
             dragIndicator="treeIndicator"
             immediate="false"
            
             acceptedTypes="file1"
             dragType="#{bean.dragOn ? 'file1' : ''}"
            
             iconCollapsed="#{bean.iconCollapsed}"
             iconExpanded="#{bean.iconExpanded}"
             iconLeaf="#{bean.iconLeaf}"
             icon="#{bean.icon}"
             dropListener="#{bean.processDrop}">
            
             <dnd:dndParam name="treeParam" value="Tree Parameter" />
             <dnd:dndParam name="accept" value="accept" />
            
             <rich:treeNode type="input" dropListener="#{bean.processDrop}">
             <h:outputText value="#{data} : " />
             <h:inputText value="#{data.name}" required="true" styleClass="inputs">
             </h:inputText>
            
             <dnd:dndParam name="nodeParam" value="Node Parameter" />
            
             </rich:treeNode>
             <rich:treeNode type="text" nodeClass="customNode" acceptedTypes="file2">
             <h:outputText value="#{data}" />
             </rich:treeNode>
             </rich:tree>
            
             <h:outputText value="Enter path to expand, eg. [webApp_:id__1 , webApp_:id__1:7 ]:" />
             <h:inputText value="#{bean.pathToExpand}">
             <a4j:support event="onchange" reRender="tree" action="#{bean.expandNode}"/>
             </h:inputText>
            
             <f:verbatim>
             <br />
             <br />
             </f:verbatim>
            
             <rich:tree id="testTree"
             var="_data"
             switchType="ajax"
             ajaxSubmitSelection="true"
             preserveModel="none"
             value="#{bean.data1}"
             nodeSelectListener="#{bean.onSelectInc}"
             nodeFace="node">
             <rich:treeNode type="node">
             <h:outputText value="#{_data}" />
             </rich:treeNode>
             </rich:tree>
            
            
             </h:form>
            
             <a4j:status startText="...start..." />
            
             <a4j:log hotkey="O" />
            
             </f:view>
             </body>
            </html>
            


            The Managed Bean i have is ( from my myfaces-config.xml)

             <managed-bean>
             <managed-bean-name>bean</managed-bean-name>
             <managed-bean-class>test.Bean</managed-bean-class>
             <managed-bean-scope>session</managed-bean-scope>
             </managed-bean>
            


            Thanks
            Sateesh

            • 3. Re: java.lang.ClassCastException: org.apache.el.ExpressionFa

              Hi All,

              I am able to run the Demo (treedemo) without any problems..

              I have to modify my pom.xml file..I replaced my eralier dependencies with the ones shown below:

               <dependencies>
               <dependency>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
               <version>3.8.1</version>
               <scope>test</scope>
               </dependency>
               <dependency>
               <groupId>org.ajax4jsf</groupId>
               <artifactId>ajax4jsf</artifactId>
               <version>1.1.1-SNAPSHOT</version>
               </dependency>
               <dependency>
               <groupId>org.richfaces</groupId>
               <artifactId>common</artifactId>
               <version>3.0.1-SNAPSHOT</version>
               </dependency>
               <dependency>
               <groupId>org.richfaces</groupId>
               <artifactId>drag-drop</artifactId>
               <version>3.0.1-SNAPSHOT</version>
               </dependency>
               <dependency>
               <groupId>org.richfaces</groupId>
               <artifactId>skins</artifactId>
               <version>3.0.1-SNAPSHOT</version>
               </dependency>
               <dependency>
               <groupId>org.richfaces</groupId>
               <artifactId>tree</artifactId>
               <version>3.0.1-SNAPSHOT</version>
               </dependency>
               <dependency>
               <groupId>com.sun.facelets</groupId>
               <artifactId>jsf-facelets</artifactId>
               <version>1.1.12</version>
               </dependency>
               <dependency>
               <groupId>javax.el</groupId>
               <artifactId>el-api</artifactId>
               <version>1.0</version>
               <scope>provided</scope>
               </dependency>
               <dependency>
               <groupId>el-impl</groupId>
               <artifactId>el-impl</artifactId>
               <version>1.0</version>
               <scope>provided</scope>
               </dependency>
               <dependency>
               <groupId>javax.servlet</groupId>
               <artifactId>jstl</artifactId>
               <version>1.0</version>
               <scope>runtime</scope>
               </dependency>
               <dependency>
               <groupId>javax.faces</groupId>
               <artifactId>jsf-impl</artifactId>
               <version>1.1_02</version>
               </dependency>
               <dependency>
               <groupId>javax.faces</groupId>
               <artifactId>jsf-api</artifactId>
              
               <version>1.1_02</version>
               </dependency>
              
               <dependency>
               <groupId>commons-beanutils</groupId>
               <artifactId>commons-beanutils</artifactId>
               <version>1.6</version>
               </dependency>
               <dependency>
               <groupId>commons-collections</groupId>
               <artifactId>commons-collections</artifactId>
               <version>2.1</version>
               </dependency>
               <dependency>
               <groupId>commons-digester</groupId>
               <artifactId>commons-digester</artifactId>
               <version>1.5</version>
               </dependency>
               <dependency>
               <groupId>commons-logging</groupId>
               <artifactId>commons-logging</artifactId>
               <version>1.0.4</version>
               </dependency>
              
               <dependency>
              
               <groupId>opensymphony</groupId>
               <artifactId>oscache</artifactId>
               <version>2.3</version>
               </dependency>
               </dependencies>
              


              I have manually downloaded and installed the ajax4jsf and richfaces jars in my local maven repository..

              Earlier i was using JSF 1.2 implementations..

              Thanks
              Sateesh