¿Cómo definir configuraciones comunes en proyectos de Maven

Emerson Cod:

Espero que este es el lugar correcto y adecuado para iniciar la discusión.

Lo que quiero

Busco una buena / de la manera correcta de manejar múltiples proyectos de Maven, que comparten una configuración común, que es en mi caso

  1. Establecer la versión maven-compilador-plugin con la versión de compilación de origen / destino
  2. Ajuste la fuente maven-plugin para unir a las fuentes de artefactos
  3. Definir servidor de repositorio local
  4. Definir dependencias comunes (vía DependencyManagement y dependencias).

Lo que hice

Mi primer acercamiento fue la creación de un proyecto de varios módulos. Pero a medida que los módulos son realmente independiente, cuando se trata de liberar (por lo que no es el mismo ciclo de lanzamiento), que parecía ser más una carga como una ganancia. También he fallado para que sea que pueda trabajar de forma independiente con un submódulo de IntelliJ y tienen para cada submódulo su propio trabajo de Jenkins. Para mí fue siempre la totalidad o nothgin

El segundo enfoque era / es tener proyectos separados. Esto hace que la codificación en IntelliJ simple y Jenkins pueden tener puestos de trabajo para cada proyecto.

Pero ahora cambia a pom padres, que afecta a los niños, son tediosos para delegar como todos los demás proyectos deben adoptar para el cambio a la nueva matriz.

Es factible y podría ser la manera de trabajar con esto, pero como me temo que hacen mal uso del concepto de los padres aquí, me preguntaba, si hay una mejor manera de utilizar los ajustes comunes en múltiples proyectos de Maven?

Gracias por leer y espero que esto era comprensible

rustyx:

Basta con crear un POM padre con los ajustes comunes y mantener el resto por separado. Publica que POM al repositorio (local) por separado como una entidad independiente con pomembalaje (no hay submódulos a este nivel).

Echar un vistazo a la POM padres primavera de arranque como un ejemplo.

El único cambio en sus proyectos sería entonces de utilizar el nuevo POM POM como el padre.

<project ... >
  <parent>
      <groupId>my-group</groupId>
      <artifactId>my-parent</artifactId>
      <version>1</version>
  </parent>
  ...

Nota sin embargo, que por lo general no es una buena idea para codificar las dependencias del POM padre (la definición de las versiones a partir DependencyManagement está bien, pero dejó que cada proyecto especifica explícitamente, que la dependencia que realmente necesita).

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=203190&siteId=1
Recomendado
Clasificación