https://github.com/joinfaces/joinfaces
JoinFaces: JSF Spring Boot Starters - JSF inside Spring Boot Application
https://github.com/joinfaces/joinfaces
adminfaces angularfaces bootsfaces butterfaces cdi jetty joinfaces jsf mojarra myfaces omnifaces primefaces primefaces-extensions rewrite spring-boot spring-security starters tomcat undertow weld
Last synced: 1 day ago
JSON representation
JoinFaces: JSF Spring Boot Starters - JSF inside Spring Boot Application
- Host: GitHub
- URL: https://github.com/joinfaces/joinfaces
- Owner: joinfaces
- License: apache-2.0
- Created: 2016-04-29T17:27:00.000Z (almost 9 years ago)
- Default Branch: 5.5.x
- Last Pushed: 2025-04-02T19:51:25.000Z (12 days ago)
- Last Synced: 2025-04-06T15:06:30.150Z (8 days ago)
- Topics: adminfaces, angularfaces, bootsfaces, butterfaces, cdi, jetty, joinfaces, jsf, mojarra, myfaces, omnifaces, primefaces, primefaces-extensions, rewrite, spring-boot, spring-security, starters, tomcat, undertow, weld
- Language: Java
- Homepage: http://joinfaces.org
- Size: 7.96 MB
- Stars: 411
- Watchers: 19
- Forks: 95
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-java - JoinFaces
README
JoinFaces
=============================
[](https://maven-badges.herokuapp.com/maven-central/org.joinfaces/jsf-spring-boot-starter)
[](https://github.com/joinfaces/joinfaces/actions/workflows/gradle.yml)
[](https://codecov.io/gh/joinfaces/joinfaces)
[](https://docs.joinfaces.org/current/api)
[](https://docs.joinfaces.org/current/reference)
[](https://github.com/joinfaces/joinfaces/blob/master/LICENSE.txt)This project enables [JSF](https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html) usage inside [Spring Boot](https://projects.spring.io/spring-boot/) Application.
It autoconfigures
[PrimeFaces](https://primefaces.org/),
[PrimeFaces Extensions](http://primefaces-extensions.github.io/),
[Apache MyFaces Tobago](https://github.com/apache/myfaces-tobago),
[OmniFaces](http://omnifaces.org/),
[AdminFaces](https://adminfaces.github.io/site/),
[BootsFaces](https://www.bootsfaces.net/),
[Mojarra](https://javaserverfaces.java.net/) and
[MyFaces](http://myfaces.apache.org/) libraries to run at embedded
[Tomcat](http://tomcat.apache.org/),
[Jetty](http://www.eclipse.org/jetty) or
[Undertow](http://undertow.io) servlet containers.
It autoconfigures [Weld](http://weld.cdi-spec.org),
[Apache OpenWebBeans](https://openwebbeans.apache.org/), and
[Rewrite](https://www.ocpsoft.org/rewrite/) too.It also aims to solve [JSF](https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html) and [Spring Boot](https://projects.spring.io/spring-boot/) integration features. Current version includes [JSF](https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html) and [CDI](https://www.cdi-spec.org/) annotations support and [Spring Security](https://projects.spring.io/spring-security/) JSF Facelet Tag support.
## How to use
[JoinFaces Example](https://github.com/joinfaces/joinfaces-maven-jar-example) shows JSF Spring Boot Starter usage. It may help you to choose the JSF Spring Boot Starter that fits your needs.
### Official example projects
|Build tool \ packaging| `jar` | `war`
|---|---|---|
|[Maven](https://maven.apache.org/)|[maven-jar-example](https://github.com/joinfaces/joinfaces-maven-jar-example)|[maven-war-example](https://github.com/joinfaces/joinfaces-maven-war-example)|
|[Gradle](https://gradle.org/)|[gradle-jar-example](https://github.com/joinfaces/joinfaces-gradle-jar-example)|[gradle-war-example](https://github.com/joinfaces/joinfaces-gradle-war-example)|## Key Features
Take a look at [Reference Guide](https://docs.joinfaces.org/master-SNAPSHOT/reference/) to see JoinFaces features: Starters, Servlet-Context Init Parameters, JSF and CDI scope-annotations support and Spring Security JSF Facelet Tag support.
## System Requirements
Joinfaces | Java | Spring Boot | JSF / Faces
----------|----------------|-------------|-----
`2.x` | `1.6` to `1.8` | `1.x` |`2.0` to `2.2`
`3.0` to `3.2`| `1.8` | `2.0` |`2.0` to `2.3`
`4.0.x` | `1.8` to `11` | `2.1` |`2.0` to `2.3`
`4.1.x` | `1.8` to `12` | `2.2` |`2.0` to `2.3`
`4.3.x` | `1.8` to `14` | `2.3` |`2.0` to `2.3`
`4.4.x` | `1.8` to `15` | `2.4` |`2.0` to `2.3`
`4.5.x` | `1.8` to `16` | `2.5` |`2.0` to `2.3`
`4.6.x` | `1.8` to `16` | `2.6` |`2.0` to `2.3`
`4.7.x` | `1.8` to `17` | `2.7` |`2.0` to `2.3`
`5.0.x` | `17` to `19` | `3.0` |`3.0` to `4.0`
`5.1.x` | `17` to `20` | `3.1` |`3.0` to `4.0`
`5.2.x` | `17` to `21` | `3.2` |`3.0` to `4.0`
`5.3.x` | `17` to `21` | `3.3` |`3.0` to `4.0`
`5.4.x` | `17` to `21` | `3.4` |`3.0` to `4.0`This are the combinations we have tested and expect to work, but depending on the features you are using, other combinations might work, too.
When using Java 9 or higher, make sure to use JoinFaces only on the classpath and not on the modulepath.## Getting Help
* Take a look at [wiki](https://github.com/joinfaces/joinfaces/wiki).
* Report questions and bugs at [github.com/joinfaces/joinfaces/issues](https://github.com/joinfaces/joinfaces/issues).## Contributing
* Report documentation, features, enhancement and bugs at [github.com/joinfaces/joinfaces/issues](https://github.com/joinfaces/joinfaces/issues).
* Pull requests are welcome.