NES for Spring Boot Dependency Management
Dependency management for NES for Spring Boot
Dependency Management
Each release of NES for Spring Boot provides a curated list of dependencies that it supports. The list contains the modules for Spring projects and third party libraries that can be used with NES for Spring Boot.
You do not need to provide a version for any of these dependencies in your build configuration, as NES for Spring Boot manages the versions for you.
Customizing Versions
It is possible to override the versions of dependencies that are managed by NES for Spring Boot. Each NES for Spring Boot release is tested against a specific set of Spring and third-party dependencies. Overriding versions may cause compatibility issues and should be done with care.
The spring-boot-dependencies
Bill-of-Materials (BOM) uses properties to control the versions of the dependencies that it manages.
The table below contains the complete list of these properties.
Maven and Gradle build files can set these properties to custom values to override the versions of dependencies managed by NES for Spring Boot.
Maven
The spring-boot-dependencies
BOM is automatically imported when a project inherits from the Spring Boot Starter parent as in this example:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>...</version>
<relativePath/>
</parent>
If the project does not inherit from the Spring Boot Starter parent, then version properties cannot be used to override dependency versions.
To customize a managed version, set its corresponding property in the properties
section of the pom.xml
file.
For example, to customize the version of SnakeYAML which is controlled by the snakeyaml.version
property:
<properties>
<snakeyaml.version>2.2</snakeyaml.version>
</properties>
Gradle
The spring-boot-dependencies
BOM is automatically imported when the Spring dependency management plugin is applied to a project as in this example:
plugins {
id 'java'
id 'org.springframework.boot' version '...'
id 'io.spring.dependency-management' version '...'
}
To customize a managed version, set its corresponding property in the "extra properties" map.
For example, to customize the version of SnakeYAML which is controlled by the snakeyaml.version
property in a Gradle build file using Groovy:
ext['snakeyaml.version'] = '2.2'
And in a Gradle build file using Kotlin:
extra["snakeyaml.version"] = "2.2"
Dependency Details
NES for Spring Boot Version | ||
---|---|---|
2.7.x | Dependency Versions | Version Properties |