10 Replies Latest reply: Nov 11, 2007 7:05 AM by Peter Müller RSS

Richfaces and eclipse (cant get started)

Peter Müller Newbie

I use Eclipse3.3.1.1 and Tomcat 6.0.14 for JSF and want to get
started with Richfaces (demo: Ajax Echo)...

I copy "richfaces-api-3.1.1_GA.jar" (impl and ui) into eclipse
(WEB-INF/lib) and do everything like in the userguide...
But it doesnt work!!

When I copy the 3 jar-files in another jsf-project, this project
doesnt work anymore...

What I have to do (step-by-step) for a running project under
eclipse????

  • 1. Re: Richfaces and eclipse (cant get started)
    Dmitry Demyankov Novice

    Have you read Chapter 3 of Developer Guide?

  • 2. Re: Richfaces and eclipse (cant get started)
    Peter Müller Newbie

    Yes, I did! (there is the echo-example)...

  • 3. Re: Richfaces and eclipse (cant get started)
    Dmitry Demyankov Novice

    What exactly is the problem? I mean 'it doesn't work' is a bit too general explanation.. Any exceptions, errors? Which jars are you using in your project?

  • 4. Re: Richfaces and eclipse (cant get started)
    Peter Müller Newbie

    Ok, here is a very simple running jsf-example...
    I copy "richfaces-api-3.1.2.GA.jar", "richfaces-impl-3.1.2.GA.jar"
    and "richfaces-ui-3.1.2.GA.jar" in the lib-folder.

    => WEB-INF/lib:
    jsf-api.jar
    jsf-impl.jar
    jstl.jar
    richfaces-api-3.1.2.GA.jar
    richfaces-impl-3.1.2.GA.jar
    richfaces-ui-3.1.2.GA.jar
    standard.jar

    => web.xml

    <?xml version="1.0"?>
    <web-app 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"
     version="2.5">
     <context-param>
     <param-name>org.richfaces.SKIN</param-name>
     <param-value>blueSky</param-value>
     </context-param>
     <filter>
     <display-name>RichFaces Filter</display-name>
     <filter-name>richfaces</filter-name>
     <filter-class>org.ajax4jsf.Filter</filter-class>
     </filter>
     <filter-mapping>
     <filter-name>richfaces</filter-name>
     <servlet-name>Faces Servlet</servlet-name>
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>FORWARD</dispatcher>
     <dispatcher>INCLUDE</dispatcher>
     </filter-mapping>
    
     <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>*.faces</url-pattern>
     </servlet-mapping>
    
     <welcome-file-list>
     <welcome-file>index.html</welcome-file>
     </welcome-file-list>
    </web-app>


    => faces-config.xml
    <?xml version="1.0"?>
    <faces-config 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-facesconfig_1_2.xsd"
     version="1.2">
    
     <!-- Navigationsregeln -->
     <navigation-rule>
     <from-view-id>/index.jsp</from-view-id>
     <navigation-case>
     <from-outcome>login</from-outcome>
     <to-view-id>/welcome.jsp</to-view-id>
     </navigation-case>
     </navigation-rule>
    
     <managed-bean>
     <managed-bean-name>user</managed-bean-name>
     <managed-bean-class>com.test.UserBean</managed-bean-class>
     <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
    
     <application>
     <resource-bundle>
     <base-name>com.test.messages</base-name>
     <var>msgs</var>
     </resource-bundle>
     </application>
    
     <application>
     <locale-config>
     <default-locale>en</default-locale>
     <supported-locale>de</supported-locale>
     </locale-config>
     </application>
    </faces-config>
    


    the index.html
    <html>
     <head>
     <meta http-equiv="Refresh" content= "0; URL=index.faces"/>
     <title>Startseite</title>
     </head>
     <body>
     <p>loading application...</p>
     </body>
    </html>


    the index.jsp:
    <html>
     <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
     <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
     <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
     <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
     <f:view>
     <head>
     <title><h:outputText value="#{msgs.indexTitel}"/></title>
     </head>
     <body>
     <h:form>
     <h3><h:outputText value="#{msgs.indexUeberschrift}"/></h3>
     <h:messages />
     <table>
     <tr>
     <td><h:outputText value="#{msgs.bezName}"/></td>
     <td>
     <h:inputText value="#{user.name}" required="true" requiredMessage="#{msgs.errorName}">
     <f:validateLength minimum="4" maximum="10" />
     </h:inputText>
     </td>
     </tr>
     <tr>
     <td><h:outputText value="#{msgs.bezPasswort}"/></td>
     <td>
     <h:inputSecret value="#{user.password}" required="true">
     <f:validateLength minimum="6" maximum="8" />
     </h:inputSecret>
    
     </td>
     </tr>
     </table>
     <p>
     <h:commandButton value="#{msgs.buttonLogin}" action="login"/>
     </p>
     </h:form>
     </body>
     </f:view>
    </html>


    the welcome.jsp:
    <html>
     <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
     <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
     <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
     <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
     <f:view>
     <head>
     <title><h:outputText value="#{msgs.welcomeTitel}"/></title>
     </head>
     <body>
     <h:form>
     <h3>
     <h:outputText value="#{msgs.welcomeText}"/>,
     <h:outputText value="#{user.name}"/>!
     </h3>
     <h5><h:outputText value="#{msgs.welcomePasswort}"/>: <h:outputText value="#{user.password}" /></h5>
     </h:form>
     </body>
     </f:view>
    </html>


    In this example (I think everybody knows it! ;-)) I don`t use any rich-tag.

    Tomcat-error-messages:
    message /Testen/index.html
    description The requested resource (/Testen/index.html) is not available.


    08.11.2007 16:13:37 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: C:\Program Files\Java\jre1.6.0_03\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jre1.6.0_03\bin\client;C:\Program Files\Java\jre1.6.0_03\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static
    08.11.2007 16:13:37 org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    08.11.2007 16:13:37 org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 804 ms
    08.11.2007 16:13:37 org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    08.11.2007 16:13:37 org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/6.0.14
    08.11.2007 16:13:38 com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing Sun's JavaServer Faces implementation (1.2_03-b09-FCS) for context '/Testen'
    08.11.2007 16:13:39 org.apache.catalina.core.StandardContext listenerStart
    SCHWERWIEGEND: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
    java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
     at org.ajax4jsf.application.DebugLifecycleFactory.<clinit>(DebugLifecycleFactory.java:39)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
     at java.lang.reflect.Constructor.newInstance(Unknown Source)
     at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:567)
     at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:460)
     at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
     at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:882)
     at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:541)
     at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:438)
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
     at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
     at org.apache.catalina.core.StandardService.start(StandardService.java:516)
     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
     at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
     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:288)
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    08.11.2007 16:13:39 org.apache.catalina.core.StandardContext start
    SCHWERWIEGEND: Error listenerStart
    08.11.2007 16:13:39 org.apache.catalina.core.StandardContext start
    SCHWERWIEGEND: Context [/Testen] startup failed due to previous errors
    08.11.2007 16:13:39 org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8080
    08.11.2007 16:13:39 org.apache.jk.common.ChannelSocket init
    INFO: JK: ajp13 listening on /0.0.0.0:8009
    08.11.2007 16:13:39 org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=0/31 config=null
    08.11.2007 16:13:39 org.apache.catalina.startup.Catalina start
    INFO: Server startup in 1572 ms


    Where is the problem, what did I wrong?!

  • 5. Re: Richfaces and eclipse (cant get started)
    Ilya Shaikovsky Master

    commons* libraries absent

  • 6. Re: Richfaces and eclipse (cant get started)
    Peter Müller Newbie

    ok...?! What can I do therefor??!!

  • 7. Re: Richfaces and eclipse (cant get started)
    Dmitry Demyankov Novice

    Which jars do you have in WEB-INF/lib?

  • 8. Re: Richfaces and eclipse (cant get started)
    Peter Müller Newbie

    WEB-INF/lib for this example:

    jsf-api.jar
    jsf-impl.jar
    jstl.jar
    richfaces-api-3.1.2.GA.jar
    richfaces-impl-3.1.2.GA.jar
    richfaces-ui-3.1.2.GA.jar
    standard.jar


  • 9. Re: Richfaces and eclipse (cant get started)
    Dmitry Demyankov Novice

    Add common-annotations, commons-beanutils, commons-codec, commons-collections, commons-digister, commons-logging jar files (maybe some of these are not really necessary..)

    You can find them here - http://commons.apache.org/

  • 10. Re: Richfaces and eclipse (cant get started)
    Peter Müller Newbie

    Thank you very much!! Now with all jars it works fine...
    I will try, what jar´s I really need...
    Thanx!!