The maven artifact com.consol.citrus:citrus-bom is a child-pom of citrus-catalog and the citrus "root"-pom. Since the com.consol.citrus:citrus pom manages all dependencies for citrus, they are inherited to the citrus-bom artefact. As a result, importing the citrus-bom imports a bunch of other dependencies into a project:
Have a look at the "Managed Dependencies" section in https://mvnrepository.com/artifact/com.consol.citrus/citrus-bom/3.3.0, which manages versions for spring, jetty, a bunch of apache projects and many other projects. When importing the citrus-bom, I only want it to manage citrus artifacts, because otherwise, updating citrus could have unwanted side effects for my project, which are not obvious.
The maven artifact com.consol.citrus:citrus-bom is a child-pom of citrus-catalog and the citrus "root"-pom. Since the com.consol.citrus:citrus pom manages all dependencies for citrus, they are inherited to the citrus-bom artefact. As a result, importing the citrus-bom imports a bunch of other dependencies into a project:
Have a look at the "Managed Dependencies" section in https://mvnrepository.com/artifact/com.consol.citrus/citrus-bom/3.3.0, which manages versions for spring, jetty, a bunch of apache projects and many other projects. When importing the citrus-bom, I only want it to manage citrus artifacts, because otherwise, updating citrus could have unwanted side effects for my project, which are not obvious.
As a solution, the citrus-bom artifact should be built outside the maven multimodule-hierarchy of citrus. As a reference, have a look at the junit-bom: https://mvnrepository.com/artifact/org.junit/junit-bom/5.9.0