<!-- Microservice Versions -->
<blc.release.train>[insert RT version e.g. 1.8.0-GA]</blc.release.train>
<blc.jpa.core>[insert RT compatible version e.g. 1.7.11-GA]</blc.jpa.core>
The following describes the process and strategy to update your Broadleaf Microservices Release Train version as well the pattern to override a specific library version defined in the Release Train.
Generally for the 1.7.x
and 1.8.x
release train projects, you will want to update the following versions in your root pom.xml
to the applicable versions:
<!-- Microservice Versions -->
<blc.release.train>[insert RT version e.g. 1.8.0-GA]</blc.release.train>
<blc.jpa.core>[insert RT compatible version e.g. 1.7.11-GA]</blc.jpa.core>
Notethis allows you to pull in the appropriate Release Train BOM with the harmonized dependency versions. Depending on the level of upgrade, there may be additional code, project structure, or SQL level changes that are applicable as well. Please see the appropriate Release Notes sections for more details.
There may be some cases, where you may need to override a specific version than what is defined in the Broadleaf Release Train. This may be either an explicit Broadleaf library dependency or a Third Party Library that Broadleaf depends on.
In order to do this, you will notice that the root pom.xml
of your accelerator projects define a dependencyManagement
section importing the Release Train BOM. In order to override a specific dependency, you must specify the exact dependency PRIOR to the release train import (order is important).
<dependencyManagement>
<dependencies>
<!-- ↓ Any explicit override should appear first BEFORE the release train ↓ -->
<dependency>
<groupId>com.broadleafcommerce.microservices</groupId>
<artifactId>my-service-to-override</artifactId>
<version>1.X.X-GA</version>
</dependency>
<dependency>
<groupId>com.broadleafcommerce.microservices</groupId>
<artifactId>broadleaf-microservices-release-train</artifactId>
<version>${blc.release.train}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
NoteThis follows the same Spring Boot conventions for projects that don’t inherit a Parent POM. More details around this pattern can be found here