Best practice Maven per la creazione di artefatto zip ad hoc

Supponiamo che io debba gestire un artefatto che consiste in una cartella / struttura di file Aribtrary arrotolata come archivio zip. Non mi è chiaro come ottenere ciò a Maven in un modo che si adatta meglio alla “via dei Maven”.

So che non esiste un tipo di imballaggio “zip”. Questo significa che non c’è un ciclo di vita generico in Maven per prendere semplicemente quello che ho nella cartella delle risorse, comprimerlo e installarlo / distribuirlo nei miei repository?

Sto cercando delle opzioni, con una valutazione di come ciascuna opzione soddisfi la mia esigenza di seguire la via del giudizio, poiché non desidero incorrere nell’ovvia penalità di allontanarmi dal sentiero d’oro. . .

Decidi quale classificatore userai per il tuo file zip , per amor di discussione, diciamo che sarebbe un sample .

Nel tuo progetto create file assembly/sample.xml

Compila assembly/sample.xml con qualcosa di simile a questo:

   sample  zip    / some/directory/in/your/project      lib  *:pom  true false runtime    

Aggiungi questo alla sezione di build del tuo pom

     org.apache.maven.plugins maven-assembly-plugin   create-distribution package  single    assembly/sample.xml        

Di conseguenza dovrebbe creare e installare you-project-name-VERSION-sample.zip .

Vi suggerisco di leggere il capitolo sugli assiemi dal libro di Maven di Sonatype: https://books.sonatype.com/mvnref-book/reference/assemblies.html

Inoltre, leggi le specifiche del formato di assemblaggio: http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html

Compila assembly / sample.xml con qualcosa di simile a questo:

  install /  zip     README* *.sh    target/classs/ resources  *.properties *.xml  dos       lib  *:pom  true true runtime    

aggiungi i seguenti codici nel file pom.xml.

  org.apache.maven.plugins maven-assembly-plugin  assembly/sample.xml    package  single     

esegui i comandi come mvn package -P dev -Dmaven.test.skip

creerà i file zip che includono: xxxx.zip -lib / .jar -resources / .xml / properties -readme -start.sh