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.xDependency VersionsVersion Properties