Skip to main content

Build of Materials

BOM in maven is about adding version constraints for dependencies and transitive dependencies. In a BOM file, we define an allowed version for each dependency. By adding such a BOM dependency to dependency-management, any dependencies clause doesn't need a version to be explicitly mentioned. It will be automatically fetched from the versions defined in BOM.

The BOM itself will never bring in any dependencies.

relation with hardware

In case of hardware, we've BOM which defines the list of allowed hardwar/components that can be used. Additionally, BOM also refers to the list of hardware/components that were used in the end product.

In Maven and Gradle, BOM refers to the first concept. The later concept is what we refer to SBOM in software deliveries.