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