Si usa Maven2 como un sistema de compilación para un proyecto que contiene muchos artefactos con el mismo número de versión, tiene la versión de la compilación resultante dispersa en todo pom.xml. En muchos de ellos, incluso dos veces, en la etiqueta de versión del artefacto en sí y en la etiqueta de versión del padre. Por lo tanto, debe cambiar y verificar las nuevas versiones de todos los pom.xml en cada cambio de versión. Esto es algo molesto, especialmente si tiene que codificar varias correcciones de errores y una versión de desarrollo en paralelo. ¿Hay alguna manera de evitar eso?Jerarquía de proyectos maven sin dispersar el número de versión
ACLARACIÓN: Mi pregunta es acerca de las muchas versiones de cada pom.xml que obtiene con el tiempo en su sistema de control de origen que difieren únicamente por el número de versión del pom y/o el número de versión del pom padre. Idealmente, solo debería cambiar el pom cada vez que agregue una dependencia o algo.
Por ejemplo, tiene un proyecto con los artefactos foo-pom (el padre pom para todos), foobar-jar, foobaz-jar y foo-war. En el primer lanzamiento, la versión es 1.0, que aparece en cada pom.xml. En el segundo lanzamiento, la versión es 1.1, que aparece de nuevo en cada pom.xml. Por lo tanto, debe cambiar cada pom.xml; esto es molesto si lo libera con la frecuencia que debería.
ACTUALIZACIÓN: Si crees que esto es importante: ya no se tiene que especificar la versión principal. Vaya al maven JIRA issue y vote para que sea más notorio y más probable que se agregue como una mejora en un próximo lanzamiento. Necesita crear/tener un inicio de sesión JIRA para eso.
Hay another Stackoverflow Question que es básicamente el mismo problema.
Ese es el patrón que estamos usando también, excepto el complemento de lanzamiento. Me preguntaba si de alguna manera puede evitar poner la versión principal en cada pom.xml. Pero parece que tienes que vivir con las muchas versiones del pom en el control de código fuente que solo difieren en la versión principal. –
Creo que este enfoque se puede complementar con el complemento de la versión Maven: http://mojo.codehaus.org/versions-maven-plugin Puede incrementar automáticamente la etiqueta parent.version en proyectos secundarios; ver versiones: update-child-modules goal. – Dan