Defines a Bill Of Materials, to centralize third-party dependency declarations in a single document.
Rely on Spring Boot dependencies BOM to provide coherent versions of most third-party tools used in our products and projects, like :
-
Jackson
-
PostgreSQL JDBC driver
-
Spring framework
-
Apache commons
-
Many more…
Some addendums are done to fit our specific needs for our products and projects.
First and foremost, you have to activate two Maven repositories:
-
Spring repository, to download Spring-Boot BOM which this artifact depends upon:
<repository> <id>spring.releases</id> <name>Spring release repository</name> <url>https://repo.spring.io/release</url> </repository>
-
The public Geomatys repository, to download the Geomatys BOM release:
<repository> <id>geomatys.public</id> <name>Geomatys public release repository</name> <url>https://nexus.geomatys.com/repository/releases</url> </repository>
Note
|
If your project POM inherits this BOM, you don’t have to add these repositories, because they will be inherited from the BOM. |
Then, there are two possible ways to apply this BOM:
-
Either for dependency management only, in which case you can import it in your project in your dependencyManagement:
<project> ... <dependencyManagement> <dependencies> <dependency> <groupId>com.geomatys</groupId> <artifactId>geomatys-bom</artifactId> <version>2024.4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>
-
Or for both dependency management and plugin version management. In this case, you have to set this BOM as your project parent:
<project> <parent> <groupId>com.geomatys</groupId> <artifactId>geomatys-bom</artifactId> <version>2024.4</version> </parent> ... </project>