No hay un simple comando Maven que le muestre la cadena de POM originales para un pom.xml. La razón de esto es que no es una pregunta común que uno normalmente haría (más sobre eso a continuación). Para su secuencia de comandos, solo tendrá que analizar el archivo pom.xml, obtener las coordenadas del artefacto padre, obtener un control del archivo pom.xml del artefacto y luego analizar su archivo pom.xml (y repetir). Lo siento, pero no hay atajos que conozca, pero .
Tiene razón en que técnicamente el padre pom es una dependencia de su proyecto, pero no es una Dependencia de Maven literal y se maneja de manera completamente diferente. La cadena de poms padres, junto con los perfiles activos, su archivo settings.xml
y Maven super pom del directorio de instalación se combinan para crear el pom efectivo de su proyecto. El POM efectivo es lo que Maven realmente usa para hacer su trabajo. Básicamente, la cadena de herencia pom padre ya está resuelta y combinada antes de que el complemento de dependencia (o cualquier otro complemento) se active.
Las preguntas que la mayoría de la gente suele hacer son '¿cómo se ve mi REAL pom.xml realmente cuando Maven termina de combinar todo?' o '¿Cuál es el resultado de mi cadena de herencia de padres poms?' o '¿Cómo se ven afectadas mis propiedades pom.xml por un perfil activo?' El pom efectivo te dirá todo esto.
Sé que no lo has preguntado, pero para otros que lo lean, si quieres ver tu pom.xml padre, simplemente abre el pom.xml en el editor M2Eclipse POM y haz clic en el enlace del artefacto padre en el pestaña de descripción general De esta forma, puede avanzar rápidamente en la cadena de archivos pom.xml con solo un clic por pomo. Sería un proyecto extraño que tuviera más de 3 o 4 poms de herencia padres.
Si quiere ver su pom efectivo, puede ejecutar el comando mvn help:effective-pom
. Alternativamente, puede hacer clic en la pestaña Effective POM en el editor POM de M2Eclipse.
Gran respuesta, gracias! Al no ver respuestas en los días posteriores a la publicación de la pregunta, escribí una utilidad java para darme la información usando la biblioteca 'maven-model' de Maven. El objeto Model (una instancia POM) tiene un método getParent() que me permitió leer recursivamente el árbol. – Todd