Le plug-in maven shade crée un fichier nommé dependency-colored-pom.xml ainsi que artifactname-shaded.jar et les place dans le répertoire de base.
Est-ce un bug? Devrait être dans le répertoire cible. Une solution de contournement?
Vous pouvez éviter de le créer en définissant createDependencyReducedPom
sur false.
par exemple.
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven-shade-plugin.version}</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
....
....
</plugin>
Basé sur bmargulies 'réponse et son commentaire sur Xv. La réponse de, j’ai décidé de configurer le POM à dépendance réduite afin qu’il soit sorti en target/
, qui est déjà ignoré dans mon VCS.
Pour ce faire, je viens d’ajouter l’élément dependencyReducedPomLocation
à l’élément configuration
du plugin, c.-à-d.
<configuration>
<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
(...)
</configuration>
Voir https://issues.Apache.org/jira/browse/MSHADE-121 , et aussi https://issues.Apache.org/jira/browse/MSHADE-124 .
Il existe une option pour déplacer le d-r-p ailleurs, mais vous n’aimerez peut-être pas les conséquences.
Vous vous trompez sur le pot hachuré, il finit toujours dans la cible/sauf si vous le déplacez ailleurs.
Vous pouvez utiliser une ancienne version du plugin. La version 1.7 du plug-in maven-shade-plugins écrit dans/target.
Depuis la version 1.7.1, pom.xml à dépendance réduite est écrit dans basedir. Voir le problème MSHADE-124 pour quelques raisons qui ont motivé cette opération et quelles en sont les conséquences. Si vous essayez de définir dependencyReducedPomLocation, vous rencontrerez probablement des problèmes pour générer le site - numéro ouvert MSHADE-145 .
la documentation sur http://maven.Apache.org/plugins/maven-shade-plugin/shade-mojo.html est incorrecte lorsqu'elle indique:
createDependencyReducedPom boolean - Indique s'il faut générer un POM simplifié pour l'artefact ombré. Si défini sur true, dépendances qui ont été inclus dans le JAR uber seront supprimés de la section du POM généré. Le POM réduit sera named dependency-colored-pom.xml et est stocké dans le même répertoire comme l'artefact ombragé. Sauf si vous spécifiez également dependencyReducedPomLocation, le plugin créera un fichier temporaire nommé dependency-colored-pom.xml dans le projet basé. Valeur par défaut est vrai.
le dependency-réduire-pom.xml est non stocké dans le même répertoire que l'artefact masqué (répertoire cible) ... il est en fait généré dans le répertoire de base, pas cible