There is no simple Maven command that will show you the chain of parent POMs for a pom.xml. The reason for this is that it is not a common question one would typically ask (more on that below). For your script, you’ll just have to parse the pom.xml file, get the parent artifact coordinates, get a hold of the artifact’s pom.xml file and then parse it’s pom.xml file (and repeat). Sorry, but there is no short cut I know of, but other folks have solved similar problems.
You are right that technically the parent pom is a dependency of your project, but it is not a literal Maven Dependency and is handled completely differently. The chain of parent poms, along with active profiles, your settings.xml
file, and the Maven super pom from the installation directory are all combined together to create your project’s effective pom. The effective POM is what Maven really uses to do its work. So basically, the parent pom inheritance chain is already resolved and combined before the dependency plugin (or any other plugin) is even activated.
The questions most people typically ask is ‘what does my REAL pom.xml really look like when Maven is done combining everything?’ or ‘What is the result my inheritance chain of parent poms?’ or ‘How are my pom.xml properties affected by an active profile?’ The effective pom will tell you all of this.
I know you didn’t ask, but for others reading this, if you want to see your parent pom.xml, simply open up the pom.xml in the M2Eclipse POM editor and click on the parent artifact link on the overview tab. In this way you can quickly move up the chain of pom.xml files with just a single click per pom. It would be a strange project that had more than 3 or 4 parent poms of inheritance.
If you want to see your effective pom, you can run the command mvn help:effective-pom
. Alternatively, you can click on the Effective POM tab in M2Eclipse’s POM editor.