Search code examples
jsfprimefacesmyfacesmojarratomahawk

JSF, Mojarra, Myfaces, Tomahawk, Primefaces: summary


I know there are a lot of answer about these things, but I'm trying to clear my mind about jsf, mojarra, myfaces, primefaces.

Can you please confirm this summary?

JSF is the standard JAVA (by Oracle). Mojarra (by Oracle) and Myfaces (by Apache) are two implementations of the standard JSF. Myfaces Tomahawk is a component library as the same as PrimeFaces.

My configuration includes Java 1.8, Eclipse Luna, Apache Tomcat 8, Maven. I'm building a project with PrimeFaces.

So since Tomcat is not a Java EE Application Server, it does not include by itself an implementation of JSF, and I should add it explicitly.

On Eclipse I can include a JSF implementation using maven:

<dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.2.8-02</version>
    </dependency>

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.2.8-02</version>
    </dependency>

or Eclipse Project Facets:

enter image description here

the results will be exactly the same? Or I need to import both Mojarra and jsf-core, jsf-impl ?

Thank you!!


Solution

  • For Maven project with Eclipse, it is better to add JSF implementation in your POM file rather than using Eclipse provided JARs.

    Myfaces, Primefaces and Richfaces are all JSF component libraries / frameworks but having not exactly the same features and the stability level also differs.

    Other points you mentioned are correct.