Tengo un proyecto multi-módulo maven (chico, he escrito que la apertura manera muchas veces en este sitio). Casi todos los módulos (es decir, los que tienen código en ellos) deben ejecutar el maven-site-plugin para generar informes sobre la cobertura del código, etc. Estos tienen una configuración compartida detallada, que informa para ejecutar, qué archivos para cubrir/excluir para ciertos complementos, etc.En un proyecto de varios módulos Maven, ¿cómo puedo desactivar un complemento en un elemento secundario?
Sin embargo, hay algunos módulos que se ocupan del empaquetado: ejecutar el plugin de ensamblaje para generar un tarball, etc. No obtienen nada al ejecutar un informe del sitio; no hay código para analizar, no hay pruebas para informar.
Así que tienen una gran cantidad de módulos que deben configuración del plugin cuota de, y unos módulos que necesitan no ejecutar el complemento de, preferiblemente en absoluto. Puedo hacer lo anterior (compartir configuración) si coloco el complemento en la sección <build>
del POM principal, pero parece que no puedo desactivar el complemento cuando lo necesito en este caso. Puedo hacer esto último (evitar ejecutar el complemento) si presiono la configuración hacia el propio POM de cada módulo, pero no puedo encontrar una buena manera de compartir la información de configuración en este caso.
Es lo que quiero - ¿la configuración compartida, para un complemento que algunas veces está deshabilitado por un módulo secundario? ¿Es posible? ¿Si es así, cómo?
Impresionante, sabía que sería algo así, pero todavía soy una especie de cinturón amarillo (en caso de que no hayas adivinado el rastro de las preguntas de Maven en mi historia reciente). No puedo mover los proyectos a diferentes padres debido a [esto] (http://stackoverflow.com/questions/7589931/how-should-i-share-maven-depdendencymanagement-from-multiple-sources), pero lo haré desvincular el complemento de informe. ¡Gracias! – Coderer
Este enfoque no funciona si no hay '' especificado para el complemento en el módulo principal. –
EvgeniySharapov
@evgeniysharapov Todavía puede usar ' none ' en el módulo secundario en ese caso, vea [esta respuesta] (http://stackoverflow.com/a/14653088/1155724). –