2010-03-16 14 views
15

Estaba intentando averiguar cómo se definen las mezclas en Maven 3, pero no pude encontrar nada más que zumbido. Se propaga como una de las nuevas características grandes here y here. Actualmente estoy sintiendo el dolor de la estructura jerárquica y me gustaría darle un giro. ¿Alguien tiene un puntero a la documentación o la fuente que define la sintaxis, incluso?¿Cómo usar Maven 3 mixins?

Respuesta

14

En un comentario a this answer, Brett Porter escribió:

Maven 3.0 no ofrece mixins todavía, sin embargo. - Brett Porter 16 de febrero a las 8:18

Y AFAIK, mixins todavía no están allí.

+3

También pregunté sobre twitter y dieron la misma respuesta de Jason van Zyl. Parece que vendrá en Maven 3.1. Ver: http://twitter.com/jvanzyl/status/10601935842 –

+0

@Mirko ¡Gracias por los comentarios! –

+2

Ver discusión: https://jira.codehaus.org/browse/MNG-5102 –

3

Jesse Glick señaló al tema Maven 5102, así que sólo quería mencionar que el comentario más reciente No (2 Oct 2012) vincula a un nuevo plugin experto que ofrece un comportamiento mixin: maven-tiles. Esta parece ser la mejor opción hasta que el soporte de mixin se cuele en Maven (algo que se ha retrasado por varios años).

Editar 2015-ene: tknerr señaló que este problema se ha marcado para la revisión de inclusión de Maven 4. Los desarrolladores de Maven parecen creer que se requieren cambios de formato POM para admitir esta característica correctamente. (Como usuario de Maven desde hace mucho tiempo, no estoy sorprendido por esto.)

+1

MNG-5102 dice actualmente: "Versión/s de reparación: Problemas a revisar 4.x". Por lo tanto, todavía no está en 3.x y probablemente nunca llegue allí ... –

0

Mixins están actualmente programados para Maven 3.2 como bug MNG-5102. Se encuentran entre muchos errores muy votados que no se han abordado en el candidato Maven 3.1.

Mucho para "Pavimentar las líneas de deseo".

1

Puede usar complementos de código abierto para introducir mixin en su pom.

Existen varios complementos que abordan la complejidad jerárquica en forma de mixin. Uno de ellos está diseñado para resolver la jerarquía en la sección de administración de complementos/complementos.

Lee todos los archivos POM importados y los combina con el archivo POM de la misma manera que Maven calcula el efectivo-pom. El complemento combina solo las secciones de construcción, propiedades y perfiles y no fusiona ningún otro elemento del pom, como dependencias, repositorios, etc.

En el siguiente fragmento, el artefacto sample-mixin consumirá la configuración de administración del complemento como definido en el archivo sample-mixin pom. No hay necesidad de heredar cualquier pom padre/base para este ..

<plugin> 
 
    <groupId>com.github.odavid.maven.plugins</groupId> 
 
    <artifactId>mixin-maven-plugin</artifactId> 
 
    <version>0.1-alpha-23</version> 
 
    <extensions>true</extensions> 
 
    <configuration> 
 
    <mixins> 
 
     <mixin> 
 
     <groupId>mixin-example</groupId> 
 
     <artifactId>sample-mixin</artifactId> 
 
     <version>${project.version}</version> 
 
     </mixin> 
 
    </mixins> 
 
    </configuration> 
 
</plugin>

Para la lectura adicional, comprobar que funciona: http://rethinkingswd.blogspot.co.il/2014/09/mixin-maven-plugin-reusable-project.html