Maven “Bill Of Materials” Dependency

Written by gaurav.agrawal | Published 2017/03/26
Tech Story Tags: spring | maven | java | bill-of-materials | maven-bill-of-materials

TLDRvia the TL;DR App

Click to Find blockchain Jobs

[Find blockchain jobs using Coinmonks jobs portal](https://coinmonks.com)

[**_Get published on Coinmonks_**](https://medium.com/coinmonks/contribute/home)

It is possible to accidentally mix different versions of Spring JARs when using Maven. For example, you may find that a third-party library, or another Spring project, pulls in a transitive dependency to an older release. If you forget to explicitly declare a direct dependency yourself, all sorts of unexpected issues can arise.

To overcome such problems Maven supports the concept of a “bill of materials” (BOM) dependency. You can import the spring-framework-bom in your dependencyManagement section to ensure that all spring dependencies (both direct and transitive) are at the same version.

<dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><version>4.3.7.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

An added benefit of using the BOM is that you no longer need to specify the <version> attribute when depending on Spring Framework artifacts:

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId></dependency><dependencies>

N0te : It’s simply copy paste from here , but you did learn a new thing if u didn’t already know this :)


Published by HackerNoon on 2017/03/26