BOM vs Parent POM
Summary:
- Parent POM: Inherited via
<parent>
, shares plugins, properties, and dependency management. - BOM: Imported via
<dependencyManagement>
, shares only dependency versions. No plugins or build config inheritance.Summary:
Project Repository: https://github.com/nitinkc/project-parent-pom
Important Differences
A parent POM is a Maven project object model file (pom.xml) with <packaging>pom</packaging>
.
It can define shared configuration, plugins, properties, and dependency management.
Child projects inherit these settings by referencing the parent in their
A BOM (Bill of Materials) is a special POM used only for dependency version management.
It is referenced in <dependencyManagement>
(usually with <type>pom</type>
and <scope>import</scope>
),
and only manages versions of dependencies, not plugins or build configuration.
Pushing the artifact on github packages:
If using local machine to push the artifact, use settings.xml
of .github/
folder
If using github’s default file, ensure the project name matches the artifact name : Commit
<settings>
<servers>
<server>
<id>github</id>
<username><github_id></username>
<password><PAT></password>
</server>
</servers>
</settings>
Using Jitpack to avoid publishing the artifact
Jitpack is a package repository for JVM and Android projects.