with run plugin how maven-2 maven maven-assembly-plugin

maven 2 - run - ¿Cómo suprimo el complemento de ensamblado de Maven que omite los archivos que ya se han agregado? ¿O permitir sobrescribir?



how to run maven assembly plugin (6)

Durante semanas, he estado luchando con Maven, logrando que implementara nuestro proyecto "correctamente".

Ya casi termino, pero tengo un pequeño problema obstinado:

Cuando utilizo el complemento de ensamblaje de Maven con el objetivo de "directorio" como en

mvn assembly:directory

Obtengo MUCHA salida de consola como la siguiente:

[INFO] tomcat/conf already added, skipping
[INFO] tomcat/conf/Catalina already added, skipping
[INFO] tomcat/conf/Catalina/localhost already added, skipping
[INFO] tomcat/webapps already added, skipping

He escrito mi propio descriptor de ensamblaje que básicamente copia varios conjuntos de archivos en varios subdirectorios dentro de nuestro directorio de implementación. Los mensajes como los anteriores aparecen cada vez que un archivo de un FileSet se copia en una ubicación en la que otro FileSet ya ha creado la estructura de directorios básica (y algunos archivos "predeterminados" que se pueden sobrescribir).

Por lo tanto, estoy teniendo dificultades para averiguar:

¿Cómo puedo: 1) suprimir estos mensajes (pero solo los mensajes "ya agregados") o 2) permitir sobrescribir?


  1. Actualice a Maven 3.1.xo superior: consulte http://maven.apache.org/maven-logging.html

    La distribución estándar de Maven, desde Maven 3.1.0 en adelante, utiliza la API SLF4J para el registro combinado con la implementación simple de SLF4J.

  2. Ahora con simplelogger tenemos un control detallado sobre los mensajes de registro. Para identificar qué registrador está causando los mensajes no deseados, edite MAVEN_HOME / conf / logging / simplelogger.properties y cambie lo siguiente:

    org.slf4j.simpleLogger.showLogName = true

  3. Observa la basura no deseada en tu salida de compilación:

    [INFO] org.codehaus.plexus.archiver.jar.JarArchiver - META-INF/MANIFEST.MF already added, skipping

  4. De vuelta en simplelogger.properties, reduzca el nivel de registro para los registradores ofensivos por nombre de clase (también establezca showLogName de nuevo en falso)

    org.slf4j.simpleLogger.log.org.codehaus.plexus.archiver.jar.JarArchiver = warn


El bug del plexo mencionado por vocaro ha sido arreglado. El uso del complemento-ensamblador-maven con la versión 2.4 (el más alto al momento de escribir) no imprime los mensajes detallados.



Probablemente sea mejor usar el complemento de recursos de maven con el objetivo de copiar recursos para reunir los directorios que necesita en un solo lugar. Cree una ejecución para su estructura de directorios básica y agregue ejecuciones subsiguientes para las partes personalizadas. Establecer la propiedad de sobrescritura del objetivo en verdadero garantizará que los archivos personalizados sobrescriban los valores predeterminados.

Luego, en sus descriptores de ensamblaje, use el conjunto de archivos que acaba de crear.


experto 3.0.4:

Todavía recibo estos mensajes cuando hago un solo frasco o fuentes combinadas para distribución. http://jira.codehaus.org/browse/PLXCOMP-129 parece no estar en el experto.

Mi solución es usar varios patrones de exclusión, y en particular,% regex [..] para las carpetas. No sé qué tan estable o general es esto, y claramente necesita ser mantenido. Sin embargo, estamos en una situación en la que recibimos tantos mensajes que no podemos ver cuando aparece un mensaje real sobre el que tenemos que hacer algo.

Omisión del AVISO, LICENCIA - Puse las versiones correctas de texto fusionado más adelante en el ensamblaje. Los parciales de las dependencias no son lo suficientemente buenos de todos modos.

La coincidencia con el nombre de la carpeta excluye todo, no la carpeta en sí. Las carpetas aparecen en la salida y no hay mensajes de "omisión" de nivel de INFO.

<unpackOptions> <excludes> <exclude>**/NOTICE*</exclude> <exclude>**/LICENSE*</exclude> <exclude>**/DEPENDENCIES*</exclude> <exclude>META-INF/**</exclude> <!-- Exclude folders - this removes "skipping" messages --> <exclude>%regex[.*/]</exclude> </excludes> </unpackOptions>