https://github.com/apache/myfaces
Apache MyFaces Core
https://github.com/apache/myfaces
java javaee myfaces web-framework
Last synced: 1 day ago
JSON representation
Apache MyFaces Core
- Host: GitHub
- URL: https://github.com/apache/myfaces
- Owner: apache
- Created: 2018-05-08T11:41:08.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2025-04-01T17:56:33.000Z (13 days ago)
- Last Synced: 2025-04-12T23:32:44.781Z (1 day ago)
- Topics: java, javaee, myfaces, web-framework
- Language: Java
- Homepage: https://myfaces.apache.org
- Size: 68 MB
- Stars: 121
- Watchers: 18
- Forks: 71
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-java - Apache MyFaces
README
![]()

[](https://github.com/apache/myfaces/actions/workflows/myfaces-ci.yml)
[](https://opensource.org/licenses/Apache-2.0)
[](https://ci-builds.apache.org/job/MyFaces/job/MyFaces%20Pipeline/job/main/)Apache's implementation of the JavaServer Faces (JSF) and Jakarta Faces specification
## Branches
### main
Jakarta Faces 5.0 implementation
### 4.1.x

Jakarta Faces 4.1 implementation### 4.0.x

Jakarta Faces 4.0 implementation
Based on the refactored 2.3-next codebase### 2.3-next

(Almost) JavaServer Faces 2.3 implementation
Completely refactored codebase compared to 2.3, also providing a Quarkus extension
2.3-next equals the JSF 2.3 API but delegates @ManagedBeans to CDI; ManagedBeans configured via XML are completely ignored. The implementation of the old FacesEL (javax.faces.el.*) also has been completely removed.### 2.3.x

JavaServer Faces 2.3 implementation## Minimum Requirements (main)
- Java 17+
- Servlet 5.0+
- EL 5.0+
- CDI 4.0+
- JSTL 3.0+ (optional)
- BV 3.0+ (optional)## Installation
mvn clean install
## Usage
### Dependency
```xmlorg.apache.myfaces.core
myfaces-api
5.0.0-SNAPSHOTorg.apache.myfaces.core
myfaces-impl
5.0.0-SNAPSHOT```
### web.xml
```xml
Faces Servlet
jakarta.faces.webapp.FacesServlet
Faces Servlet
*.xhtml
```
### index.xhtml
```xml
Hello World!
```
## Quarkus extension
Since 2.3-next a Quarkus extension is available. A sample project can be found here: https://github.com/apache/myfaces/blob/main/extensions/quarkus/showcase/
### Not supported features:
- Quarkus does not support session replication / passivation / clustering
- Quarkus beans are not serializable and therefore session passivation would never work anyway
- Quarkus does not implement `@ConversationScoped`
- Quarkus does not support injection in normal objects, therefore injection in JSF artifacts like NavigationHandler etc. is not supported### Differences to a normal servlet container while developing
- You need to put your views under `src/main/resources/META-INF/resources` as Quarkus doesn't create a WAR and src/main/webapp is ignored!