Import ARender dependencies
Introduction
The ARender BOM is simply a POM file containing some of the ARender dependencies defined in a dependencyManagement. Among other things, it makes possible to a project using ARender libraries to always be sure to use the same versions of third-party libraries as ARender. The advantage is that the BOM is importable and then leaves the possibility for a project to have another parent POM.
ARender BOM
There are a total of 3 BOMs available: the web-ui, the rendition and the root which is the parent pom and which therefore contains the libraries common to the web-ui and to the rendition.
<dependency>
<groupId>com.arondor.arender</groupId>
<artifactId>arender-bom-root</artifactId>
<version>${arender.version}</version>
</dependency>
<dependency>
<groupId>com.arondor.arender</groupId>
<artifactId>arender-bom-web-ui</artifactId>
<version>{arender.version}</version>
</dependency>
<dependency>
<groupId>com.arondor.arender</groupId>
<artifactId>arender-bom-rendition</artifactId>
<version>{arender.version}</version>
</dependency>
Example
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.arondor.test</groupId>
<artifactId>my-parent-pom</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>custom-arender-connector</artifactId>
<packaging>jar</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.arondor.arender</groupId>
<artifactId>arender-bom-web-ui</artifactId>
<version>${arender.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
We can see here the import of the BOM in the dependencyManagement and the use of some dependencies which do not have a defined version. Indeed, maven will automatically know to retrieve the version defined in the BOM and use it.