# myfaces
**Repository Path**: mirrors_apache/myfaces
## Basic Information
- **Project Name**: myfaces
- **Description**: Apache MyFaces Core
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-22
- **Last Updated**: 2025-10-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## 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
```xml
org.apache.myfaces.core
myfaces-api
5.0.0-SNAPSHOT
org.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!