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>