Maven sombra plugin es crear un archivo llamado dependency-reduced-pom.xml y también artifactname-shaded.jar y colocarlos en el directorio base.

Es esto un error? Debe estar en el directorio de destino. Cualquier solución?

InformationsquelleAutor DD. | 2012-07-03

5 Comentarios

  1. 60

    Usted puede evitar que se creó mediante el establecimiento de createDependencyReducedPom a false.

    por ejemplo,

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>${maven-shade-plugin.version}</version>
        <configuration>
            <createDependencyReducedPom>false</createDependencyReducedPom>
        </configuration>
        ....
        ....
    </plugin>

    Ver más detalles de apache

    Maven sombra plugin agregar dependency-reduced-pom.xml a base de directorio

    • Si se desactiva, entonces la cosa se va a construir todavía tiene todos los combinados-en las dependencias mencionadas dependencias.
  2. 19

    Basado en bmargulies respuesta y su comentario sobre Xv.‘s respuesta, me decidí a configurar la dependencia reducida de POM a ser la salida a target/, que ya es ignorado en mi VCS.

    Para hacer eso, me acaba de agregar el dependencyReducedPomLocation elemento a la configuration elemento del plugin, es decir,

    <configuration>
      <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
      (...)
    </configuration>
    • Bevare de ello, a partir de la documentación del complemento «Donde poner la dependencia de la reducción de pom. Nota: la configuración de un valor para este parámetro con un directorio distinto ${basedir} cambia el valor de ${basedir} para todas las ejecuciones que vienen después de la sombra de ejecución. Con frecuencia esto no es lo que usted desea. Se considera que este es un tema abierto con este plugin.»
  3. 8

    Ver https://issues.apache.org/jira/browse/MSHADE-121, y también https://issues.apache.org/jira/browse/MSHADE-124.

    Hay una opción para mover el d-r-p a otros lugares, pero puede que no te guste las consecuencias.

    Que está equivocado acerca de la sombra de tarro, siempre termina en blanco a menos que moverlo a otro lugar.

    • podría explicar qué debemos hacer con esto generó pom ?
    • Nada. Añadir a su .gitignore archivo o conjunto svn:ignore en él. Maven se hace para que se puedan incluir en la sombra de la jarra.
    • ¿Qué entiende usted por You may not like the consequences? ¿Cuáles son las consecuencias negativas?
    • Si hay nombres de rutas relativas en que no van a trabajar @Gili
  4. 3

    Usted podría utilizar una versión antigua del plugin. La versión 1.7 de la maven-sombra-plugin escribe a /objetivo.

    Desde la versión 1.7.1, de la dependencia de reducción de pom.xml está escrito para basedir. Ver el problema MSHADE-124 por algunas razones por las que se ha hecho y cuáles son sus consecuencias. Si intenta establecer dependencyReducedPomLocation, es probable que se ejecutará en los problemas de la generación de la página – tema abierto MSHADE-145.

  5. 0

    la documentación en http://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html es incorrecta cuando dice:

    createDependencyReducedPom boolean – Indicador de si se genera un
    simplificado POM para la sombra de un artefacto. Si se establece a true, dependencias
    que han sido incluidas en el uber JAR será eliminado de la
    la sección de la que genera POM. La reducción de POM será
    nombre dependency-reduced-pom.xml y se almacena en el mismo directorio
    como la sombra de un artefacto. A menos que también se especifique
    dependencyReducedPomLocation, el plugin va a crear un archivo temporal
    nombre dependency-reduced-pom.xml en el proyecto basedir. Valor predeterminado
    es: verdadero.

    la dependency-reduced-pom.xml es no almacenados en el mismo directorio que la sombra de un artefacto (el directorio de destino) … de hecho, es generado en el directorio de base, no de destino

    • escribir (incluso en su respuesta se puede ver): «el plugin va a crear un archivo temporal llamado dependency-reduced-pom.xml en el proyecto basedir»

Dejar respuesta

Please enter your comment!
Please enter your name here