maven-jar-plugin inclut vs exclut
J'en ai déjà un de pom fichier qui comprend une maven-jar-plugin section. Il fonctionne pour le test-jar objectif et est actuellement à l'exclusion d'un certain nombre de répertoires:
<excludes>
<exclude>...</exclude>
<exclude>...</exclude>
<exclude>somedir/**</exclude>
</excludes>
J'ai besoin d'inclure un fichier dans le somedir répertoire mais laissez de côté le reste des fichiers dans le somedir répertoire. J'ai lu que comprend ont la priorité sur les exclut donc j'ai ajouté quelque chose comme ce qui suit (il n'y avait pas inclut section avant):
<includes>
<include>somedir/somefile.xml</include>
</includes>
Cela finit par créer un fichier jar pour le test avec seulement quelques fichiers (seulement les choses dans META-INF). Le fichier que j'ai compris n'est pas dans le pot. Ce que je m'attendrais est un pot qui est identique au pot qui a été créé avant mon inclut le changement avec l'un fichier supplémentaire.
Ce qui me manque ici?
OriginalL'auteur Chris Williams | 2010-03-15
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, si vous ne précisez pas la
includes
, puis le maven jar du plugin sera utiliser**/**
comme modèle par défaut (voiro.un.m.p.j.AbstractJarMojo
) c'est à dire qu'il comprendra tout. Si vous remplacer ce modèle par défaut, le plugin évidemment ne comprennent ce que vous lui dites à inclure.Deuxième, le répertoire de numérisation est effectuée à la fin par le
o.c.p.u.DirectoryScanner
et c'est ce que la javadoc de la classe dit:Donc, avec votre jeu actuel de
includes
etexcludes
modèles, seulement UN fichier correspondra à l'inclusion, mais aussi correspondre à un motif d'exclusion et donc de ne pas être sélectionné et vous obtenez un presque vide archive (avec la valeur par défaut manifeste, voiro.un.m.p.j.AbstractJarMojo#createArchive()
).Je ne peux pas vous donner la solution exacte ici, mais vous avez clairement besoin de repenser sa façon de vous inclure/exclure des fichiers (par exemple, ajouter plus de
includes
de motifs, de supprimer<exclude>somedir/**</exclude>
, ou de l'utilisationincludes
seulement, ou de l'utilisationexcludes
seulement).OriginalL'auteur Pascal Thivent