2010-06-28 10 views
5

Tengo un proyecto maven de múltiples módulos y me gustaría usar versiones de tal manera que el desarrollador tenga que tocar solo el pom del proyecto raíz para cambiar la versión de todos los módulos.Propagación de versión en Maven

Por ejemplo

proja contiene

  • Module1

  • Module2

  • Module3

Al l los módulos contienen sus propios Poms y tienen el pom de ProjA como su padre. Una vez que ejecuto la compilación obtengo un jar creado para cada módulo. Ahora, para construir una versión más nueva de ProjA, solo tengo que cambiar la versión de la pom del ProjA y todas las poms de los módulos deberían recoger esta nueva versión del padre. Esto funciona si codigo la versión principal en todos los pom del módulo. Pero esto también me obligará a actualizar los poms de todos los módulos para cada cambio de versión en el pom padre que lo derrota. ¿Hay alguna manera de evitar esto y aún así lograr el comportamiento establecido?

Respuesta

6

Utilice la Maven Versions Plugin y su versions:update-child-modules objetivo:

  • versions:update-child-modules actualiza la sección de los padres de los módulos secundarios de un proyecto para la versión coincide con la versión del proyecto actual. Por ejemplo, si tiene un agregador pom que también es el padre de los proyectos que agrega y los hijos y las versiones principales no se sincronizan, este mojo puede ayudar a corregir las versiones de los módulos secundarios. (Tenga en cuenta que puede necesitar invocar a Maven con la opción -N para ejecutar este objetivo si su proyecto se rompe tan gravemente que no puede compilar debido a la falta de correspondencia de la versión).
Cuestiones relacionadas