È necessario utilizzare maven-assembly-plugin
quando è necessario creare artefatti personalizzati. Consiglio vivamente di leggere Chapter 8. Maven Assemblies del manuale Maven per iniziare a utilizzare gli assembly. Questo capitolo contiene spiegazioni approfondite sulla creazione di assemblaggi Maven ed è facile da leggere.
Fondamentalmente, un assembly viene creato con l'aiuto di un assembly descriptor. Il seguente descrittore di assembly includerà l'artefatto principale del progetto nella radice di un archivio zip. È possibile aggiungere più <file>
o <fileSets>
dichiarazione qui per aggiungere i tuoi file personalizzati nel vostro archivio (la logica è la stessa)
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>assemby-id</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<file>
<source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>
<outputDirectory>/</outputDirectory>
</file>
</files>
</assembly>
Poi basta dichiarare questo plugin in POM. In questo caso, il plugin è associato alla fase package
e configurato con il descrittore sopra. Per impostazione predefinita, l'ID dell'assembly viene aggiunto al nome dell'archivio: l'ho rimosso qui.
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor> <!-- path to the descriptor -->
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
Quando si esegue mvn clean package
, si vedrà che un archivio zip sarà stato creato nella directory target
.
La soluzione è il Maven-assemblaggio-plugin come descritto nella risposta al riferimento (http://stackoverflow.com/questions/5717183/create-a-zip-with-all-dependencies-with-maven). Quello che dovrai fare è includere il plugin maven-assembly-in nel tuo pom.xml e creare un assembly.xml personalizzato in src/main/assemblare. In generale, i set di file in assembly.xml definiscono ciò che verrà incluso nell'archivio creato.Dopo aver chiamato l'installazione di mvn clean, il nuovo archivio zip dovrebbe essere disponibile nella cartella di destinazione dei progetti. Spero che questo aiuti ... –
Il percorso predefinito per un descrittore di assemblaggio è 'src/assembly' ... Vedi https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout. html – khmarbaise