Before you go, check out these stories!

0
Hackernoon logoMaven “Bill Of Materials” Dependency by@gaurav-agrawal

Maven “Bill Of Materials” Dependency

Author profile picture

@gaurav-agrawalGaurav Agrawal

Click to Find blockchain Jobs

Find blockchain jobs using Coinmonks jobs portal

Get published on Coinmonks

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 :)

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.