Giriş
İstenilen transitive dependency sürümünü tanımlamak için kullanılabilir. Açıklaması şöyle.
The point of dependencyManagement is to allow me to specify a version for transitive dependencies.
Örnek
Şöyle yaparız
<dependencyManagement><dependencies><dependency><groupId>conflicting.group</groupId><artifactId>TransitiveDependency</artifactId><version>desired.version</version></dependency></dependencies></dependencyManagement>
Örnek - BOM
Şöyle yaparız. Burada Log4J2 için BOM kullanılıyor. Böylece tüm projedeki log4j sürümü değiştirilebiliyor.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${log4j2.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>Örnek
Bir projede snakeyaml kütüphanesinin eski bir sürümü transitive dependency olarak gelsin ama biz daha yeni bir sürüm kullanmak isteyelim. Şöyle yaparız
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.32</version>
</dependency>
</dependencies>
</dependencyManagement>