1. Using JoinFaces

Table 1. Official example projects
Build tool \ packaing jar war

Maven

maven-jar-example

maven-war-example

Gradle

gradle-jar-example

gradle-war-example

1.1. System Requirements

Table 2. System Requirements
Joinfaces Java Spring Boot JSF

3.3

1.8 to 11

2.1

2.0 to 2.3

3.0 to 3.2

1.8

2.0

2.0 to 2.3

2.x

1.6 to 1.8

1.x

2.0 to 2.2

This are the combinations we have tested and expect to work, but depending on the features you are using, other combinations might work, too.

1.2. Dependency Management

Each release of JoinFaces provides a curated list of dependencies that it supports. This list is an extension of Spring Boot’s dependency management and therefore works exactly the same way.

The joinfaces-dependencies BOM also imports the spring-boot-dependencies BOM. If you want to override the imported Spring Boot version, make sure to specify the Spring Boot BOM after the JoinFaces one.

1.3. Maven

Please also consult the official Spring Boot documentation: Link
<project>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.joinfaces</groupId>
                <artifactId>joinfaces-dependencies</artifactId>
                <version>3.3.0-rc3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

1.4. Gradle

Please also consult the official Spring Boot documentation: Link
plugins {
    id 'org.joinfaces' version '3.3.0-rc3'
    id 'org.springframework.boot' version '2.1.0.RELEASE'
}
apply plugin: 'java' //or 'war'
apply plugin: 'io.spring.dependency-management'

dependencies {
    compile 'org.joinfaces:jsf-spring-boot-starter'
}

1.4.1. Not using the JoinFaces gradle plugin

plugins {
    id 'org.springframework.boot' version '2.1.0.RELEASE'
}
apply plugin: 'java' //or 'war'
apply plugin: 'io.spring.dependency-management'

dependencyManagement {
    imports {
        mavenBom 'org.joinfaces:joinfaces-dependencies:3.3.0-rc3'
    }
}

dependencies {
    compile 'org.joinfaces:jsf-spring-boot-starter'
}

2. Features