Apache MyFaces

Apache MyFaces is an Apache Software Foundation project that creates and maintains an open-source JavaServer Faces implementation, along with several libraries of JSF components that can be deployed on the core implementation. The project is divided into several sub-projects:

  • Core: an implementation of the JSF 1.1, JSF 1.2, JSF 2.0, JSF 2.1, JSF 2.2 and JSF 2.3 specification and components as specified by JSR 127, JSR 252, JSR 314, JSR 344 and JSR 372 respectively
  • Portlet Bridge: an implementation of the JSF Portlet Bridge specification as specified by JSR 301
  • Tomahawk: a set of JSF components created by the MyFaces development team prior to its donation to Apache
  • Trinidad: a set of JSF components contributed to MyFaces by Oracle, where it was known as ADF Faces
  • Tobago: a set of JSF components contributed to MyFaces by Atanion GmbH
  • Orchestra: a framework used to manage persistence sessions across various scopes
  • Extensions Validator: a JSF centric validation framework, which is based on annotations
  • CODI: a toolbox which will support you on solving your daily needs of software development with CDI, JSF, BV and JPA
  • Others: As well as these subprojects, MyFaces has a number of smaller subprojects, for example MyFaces Commons or MyFaces Shared. These subprojects can be found here.
Apache MyFaces
Developer(s)Apache Software Foundation
Stable release
2.3.4 / May 23, 2019 (2019-05-23)[1]
RepositoryMyFaces Repository
Written inJava
Operating systemCross-platform
TypeWeb framework
LicenseApache License 2.0

The standard is based on the Model View Controller paradigm, but is also component-based and event-oriented. Different templating languages can be used. In the standard, JSP is used, other options include XML based templating languages like Shale Clay or Facelets.[2]


The MyFaces Core subproject is an open-source implementation of the JavaServer Faces specification. Each major release of MyFaces Core is certified against the Sun Technology Compatibility Kit to ensure compliance.[3]

The core subproject is divided into two submodules:

  • MyFaces API implements all of the classes that are defined in the specification.
  • MyFaces Impl provides "invisible" support classes that user code does not directly invoke, but which are needed for a working JSF framework. Examples are the renderer classes for the standard JSF components.

These two submodules are distributed in two libraries, myfaces-api.jar and myfaces-impl.jar. Both of them are needed to be able to deploy a JSF based web application.

The latest release of MyFaces Core is 2.3.4. It requires Java 1.8 or later, JSP 2.2, JSTL 1.2, CDI 2.0, WebSocket 1.1 and a Java Servlet 4.0 implementation.[4]

See also


  1. "Welcome to the Apache MyFaces Project". Retrieved 15 June 2019.
  2. "MyFaces – Introduction to JSF". myfaces.apache.org. Archived from the original on 22 September 2017. Retrieved 23 April 2018.
  3. "Apache MyFaces Core 1.2 Description". Archived from the original on 13 December 2009. Retrieved December 7, 2009.
  4. "Apache MyFaces Core 2.2 Description". Archived from the original on 2016-01-03. Retrieved 2016-01-29.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.