{"id":14987748,"url":"https://github.com/apache/myfaces","last_synced_at":"2025-10-11T13:04:54.001Z","repository":{"id":38847743,"uuid":"132600378","full_name":"apache/myfaces","owner":"apache","description":"Apache MyFaces Core","archived":false,"fork":false,"pushed_at":"2025-09-22T14:17:18.000Z","size":72126,"stargazers_count":125,"open_issues_count":2,"forks_count":72,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-10-06T00:36:51.519Z","etag":null,"topics":["java","javaee","myfaces","web-framework"],"latest_commit_sha":null,"homepage":"https://myfaces.apache.org","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-05-08T11:41:08.000Z","updated_at":"2025-10-02T13:04:53.000Z","dependencies_parsed_at":"2023-02-17T18:01:14.444Z","dependency_job_id":"6ecf8843-c71c-46c4-a640-1039f2936e3e","html_url":"https://github.com/apache/myfaces","commit_stats":{"total_commits":6079,"total_committers":85,"mean_commits":71.51764705882353,"dds":0.6346438558973515,"last_synced_commit":"64d42450aefa4d324221e201c0f2787d00694641"},"previous_names":[],"tags_count":126,"template":false,"template_full_name":null,"purl":"pkg:github/apache/myfaces","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmyfaces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmyfaces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmyfaces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmyfaces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/myfaces/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmyfaces/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007301,"owners_count":26084280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","javaee","myfaces","web-framework"],"created_at":"2024-09-24T14:15:20.197Z","updated_at":"2025-10-11T13:04:53.943Z","avatar_url":"https://github.com/apache.png","language":"Java","readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://myfaces.apache.org/resources/images/myfaces-small.png\" width=\"384\" height=\"143\" /\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n![Maven Central](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl)\n[![Build Status](https://github.com/apache/myfaces/workflows/MyFaces%20CI/badge.svg)](https://github.com/apache/myfaces/actions/workflows/myfaces-ci.yml)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Build Status ASF](https://ci-builds.apache.org/buildStatus/icon?subject=ASF-Build\u0026job=MyFaces%2FMyFaces+Pipeline%2Fmain)](https://ci-builds.apache.org/job/MyFaces/job/MyFaces%20Pipeline/job/main/)\n\nApache's implementation of the JavaServer Faces (JSF) and Jakarta Faces specification\n\n## Branches\n\n### main\n\nJakarta Faces 5.0 implementation  \n\n### 4.1.x\n![4.1.x](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=4.1\u0026color=cyan)\nJakarta Faces 4.1 implementation  \n\n### 4.0.x\n![4.0.x](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=4.0\u0026color=cyan)\nJakarta Faces 4.0 implementation  \nBased on the refactored 2.3-next codebase\n\n### 2.3-next\n![2.3-next](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=2.3-next\u0026color=cyan)\n(Almost) JavaServer Faces 2.3 implementation  \nCompletely refactored codebase compared to 2.3, also providing a Quarkus extension  \n2.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.\n\n### 2.3.x\n![2.3](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=2.3\u0026color=cyan)\nJavaServer Faces 2.3 implementation\n\n\n## Minimum Requirements (main)\n\n- Java 17+\n- Servlet 5.0+\n- EL 5.0+\n- CDI 4.0+\n- JSTL 3.0+ (optional)\n- BV 3.0+ (optional)\n\n## Installation\n\nmvn clean install\n\n## Usage\n\n### Dependency\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.apache.myfaces.core\u003c/groupId\u003e\n    \u003cartifactId\u003emyfaces-api\u003c/artifactId\u003e\n    \u003cversion\u003e5.0.0-SNAPSHOT\u003c/version\u003e\n\u003c/dependency\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.apache.myfaces.core\u003c/groupId\u003e\n    \u003cartifactId\u003emyfaces-impl\u003c/artifactId\u003e\n    \u003cversion\u003e5.0.0-SNAPSHOT\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### web.xml\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cweb-app xmlns=\"https://jakarta.ee/xml/ns/jakartaee\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd\"\n         version=\"5.0\"\u003e\n\n    \u003cservlet\u003e\n        \u003cservlet-name\u003eFaces Servlet\u003c/servlet-name\u003e\n        \u003cservlet-class\u003ejakarta.faces.webapp.FacesServlet\u003c/servlet-class\u003e\n    \u003c/servlet\u003e\n    \u003cservlet-mapping\u003e\n        \u003cservlet-name\u003eFaces Servlet\u003c/servlet-name\u003e\n        \u003curl-pattern\u003e*.xhtml\u003c/url-pattern\u003e\n    \u003c/servlet-mapping\u003e\n\n\u003c/web-app\u003e\n```\n\n### index.xhtml\n```xml\n\u003c!DOCTYPE html\u003e\n\u003chtml xmlns=\"http://www.w3.org/1999/xhtml\"\n  xmlns:f=\"jakarta.faces.core\"\n  xmlns:h=\"jakarta.faces.html\"\u003e\n\n  \u003ch:head\u003e\n\n  \u003c/h:head\u003e\n\n  \u003ch:body\u003e\n\n    Hello World!\n\n  \u003c/h:body\u003e\n\u003c/html\u003e\n```\n\n## Quarkus extension\n\nSince 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/\n\n### Not supported features:\n- Quarkus does not support session replication / passivation / clustering\n- Quarkus beans are not serializable and therefore session passivation would never work anyway\n- Quarkus does not implement `@ConversationScoped`\n- Quarkus does not support injection in normal objects, therefore injection in JSF artifacts like NavigationHandler etc. is not supported\n\n### Differences to a normal servlet container while developing\n- 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!\n\n","funding_links":[],"categories":["开发框架"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fmyfaces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fmyfaces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fmyfaces/lists"}