| This documentation is still under construction. |
1. Using JoinFaces
| Build tool \ packaing | jar |
war |
|---|---|---|
1.1. 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.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.joinfaces</groupId>
<artifactId>joinfaces-dependencies</artifactId>
<version>3.3.0-rc5</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-rc5'
}
apply plugin: 'java' //or 'war'
apply plugin: 'org.springframework.boot'
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.1.RELEASE'
}
apply plugin: 'java' //or 'war'
apply plugin: 'io.spring.dependency-management'
dependencyManagement {
imports {
mavenBom 'org.joinfaces:joinfaces-dependencies:3.3.0-rc5'
}
}
dependencies {
compile 'org.joinfaces:jsf-spring-boot-starter'
}
4. Gradle Plugin
JoinFaces provides some Gradle plugins to simplify the development.
| When using the JoinFaces Gradle plugins, you might want to use the Spring Boot gradle plugin, too. |
4.1. org.joinfaces
The org.joinfaces plugin is the main plugin. It does nothing on it’s own, but conditionally applies
the other plugin in reaction to the plugins present in the project.
If defaults in the org.joinfaces plugin don’t work for you, you can just include the sub-plugins you need instead.
|
4.2. org.joinfaces.dependency-management
This plugin is applied by the main plugin if the io.spring.dependency-management plugin is applied to the current project.
If this plugin is applied directly it will apply the io.spring.dependency-management itself.
In both cases it configures the dependency management plugin to use the JoinFaces Dependency Management.
This is similar to what the Spring Boot Gradle plugin does.
4.3. org.joinfaces.classpath-scan
This plugin configures a classpath scan at build-time in order to reduce the startup time of applications which use an embedded servlet container.
For each source-set the runtimeClasspath configuration and the output of the compile tasks for java, groovy,
scala and kotlin will be scanned.
If you have any problems with the classpath scan, you can disable it:
scanClasspath.enabled = false