Ho un requisito molto specifico della nostra infrastruttura di compilazione per copiare alcuni contenuti di un'altra dipendenza JAR in una sottocartella specifica della mia applicazione web. Stiamo usando maven-assembly-plugin, e un modo naturale per farlo è usare <dependencySet>
insieme a <unpackOptions>
.Maven Assembly - copia solo file dalla sottocartella durante l'estrazione dall'archivio
L'esempio di codice (nel descrittore di montaggio) Ho sguardi come segue:
<dependencySet>
<unpack>true</unpack>
<scope>runtime</scope>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>my.group:artifact:jar</include>
</includes>
<unpackOptions>
<includes>
<include>subfolder/config.xml</include>
</includes>
</unpackOptions>
<outputDirectory>WEB-INF/otherfolder</outputDirectory>
</dependencySet>
Il problema è che io non riesco a capire come specificare che voglio solo copiare solo un singolo file artifact.jar/subfolder/config.xml
a un obiettivo WEB-INF/otherfolder
. Il risultato effettivo è WEB-INF/otherfolder/subfolder/config.xml
. Come puoi vedere, /subfolder
viene aggiunto al percorso finale. Esiste un modo per modificare l'espressione <include>
in modo che /subfolder
non venga aggiunto?
Grazie in anticipo!
Hai provato a rimuovere l'altra cartella dall'outputDirectory? – khmarbaise
@khmarbaise In tal caso otterrò WEB-INF/sottocartella/config.xml. Ma il risultato atteso è WEB-INF/otherfolder/config.xml –
provare **/config.xml e vedere cosa succede .. – om39a