Maven: ¿Qué es la gestión de complementos?

Este es un fragmento de mi archivo pom.

....   org.apache.maven.plugins maven-dependency-plugin 2.4   install  copy-dependencies   ......      ... 

Lo uso con éxito con el comando

 mvn install 

Pero cuando bash encerrarlo en la etiqueta “pluginManagement”, maven-dependency-plugin deja de funcionar cuando abro el objective de install . ¿Por qué la etiqueta “pluginManagement” cambia el comportamiento de comstackción? ¿O debería usar otro objective u opción?

Aún necesitas agregar

   org.apache.maven.plugins maven-dependency-plugin   

en su comstackción, porque pluginManagement es solo una forma de compartir la misma configuración de plugin en todos los módulos de su proyecto.

De la documentación de Maven:

pluginManagement : es un elemento que se ve a lo largo de los complementos. La administración de complementos contiene elementos de complementos de la misma manera, excepto que en lugar de configurar la creación de complementos para esta comstackción de proyecto en particular, se pretende configurar comstackciones de proyectos heredadas de esta. Sin embargo, esto solo configura los complementos a los que se hace referencia en el elemento de complementos en los elementos secundarios. Los niños tienen todo el derecho de anular las definiciones de PluginManagement.

La diferencia entre y es que a en:

  • define la configuración de los complementos que heredarán los módulos en su comstackción. Esto es ideal para casos en los que tienes un archivo pom padre.

  • es una invocación real del complemento. Puede heredarse o no de una .

No necesita tener un en su proyecto, si no es un POM principal. Sin embargo, si es un pom padre, entonces en el pom del niño, debe tener una statement como:

   com.foo bar-plugin   

Observe cómo no está definiendo ninguna configuración. Puede heredarlo del padre, a menos que necesite ajustar aún más su invocación según las necesidades del proyecto secundario.

Para obtener información más específica, puede verificar:

  • La referencia Maven pom.xml: complementos

  • La referencia Maven pom.xml: gestión de complementos

Utiliza pluginManagement en un pom padre para configurarlo en caso de que cualquier pom hijo quiera usarlo, pero no todos los complementos hijo quieren usarlo. Un ejemplo puede ser que su super pom define algunas opciones para el plugin Maven Javadoc. No es posible que cada pom hijo desee utilizar Javadoc, por lo que debe definir esos valores predeterminados en una sección de pluginManagement. El pom hijo que quiere usar el complemento Javadoc, solo define una sección de complemento y heredará la configuración de la definición de pluginManagement en el pom padre.

pluginManagement: es un elemento que se ve a lo largo de los complementos. La administración de complementos contiene elementos de complementos de la misma manera, excepto que en lugar de configurar la creación de complementos para esta comstackción de proyecto en particular, se pretende configurar comstackciones de proyectos heredadas de esta. Sin embargo, esto solo configura los complementos a los que se hace referencia en el elemento de complementos en los elementos secundarios. Los niños tienen todo el derecho de anular las definiciones de PluginManagement.

De http://maven.apache.org/pom.html#Plugin%5FManagement

Copiado de :

Maven2 – problema con la gestión de plugins y la relación padre-hijo