Version 3

    RichFaces supports several versions of JSF implementations coupled with specific JSF API.

     

    On the application servers, you need only API in compile time,

    while on servlet containers, implementation (and API in case of JBoss JSF) needs to be deployed.

     

    You may want to refer to list of supported versions in particular releases can.

     

    NOTE: For up-to-date informations of versions, refer to versions defined in RichFaces BOM (linked from each listed JSF implementation).

     

    NOTE: For futher informations what does <scope> mean, refer to introduction to Maven Dependency Scopes.

     

    JSF Reference Implementation (Mojarra)

     

     

    <!-- API -->
    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- Implementation -->
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.faces</artifactId>
        <scope>runtime</scope>
    </dependency>
    

     

    JBoss JSF implementation

     

     

    <!-- API -->
    <dependency>
        <groupId>org.jboss.spec.javax.faces</groupId>
        <artifactId>jboss-jsf-api_2.1_spec</artifactId>
        <scope>compile</scope>
    </dependency>
    <!-- Implementation -->
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <scope>${dependency.scope}</scope>
    </dependency>
    

     

    MyFaces

     

     

    <!-- API -->
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-api</artifactId>
        <scope>compile</scope>
    </dependency>
    <!-- Implementation -->
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-impl</artifactId>
        <scope>runtime</scope>
    </dependency>