Ho un progetto con cui sto cercando di creare un file zip di distribuzione, che contiene (tra gli altri file) un jar eseguibile con dipendenze del mio progetto java.plugin maven-assembly - come creare assembly nidificati
Così ho sorta di voglia farlo sembrare come questo:
-wiki-search-1.0.0-dist.zip
-wiki-search.bat
-wiki-search-help.html
-wiki-search-1.0.0-jar-with-dependencies.jar
-jar content...
Sto usando il plugin di montaggio, e il descrittore predefinito "vaso-con-le dipendenze" per creare il mio file jar eseguibile.
che sto specificando una voce di plug-assembly separato nel mio pom, fa riferimento a un descrittore personalizzato per cercare di costruire il file zip distribuibile.
Quindi la parte del mio pom assomiglia a questo:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>quicksearch.QuickSearchApp</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
</execution>
</executions>
</plugin>
E il mio descrittore personalizzato assomiglia a questo:
<assembly>
<id>dist</id>
<formats>
<format>tar.gz</format>
<format>tar.bz2</format>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<includes>
<include>${project.basedir}/target/wiki-search-0.0.1-SNAPSHOT-jar-with-dependencies.jar</include>
</includes>
<outputDirectory>.</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.basedir}/src/main/etc</directory>
<includes>
<include>*</include>
</includes>
<outputDirectory></outputDirectory>
</fileSet>
</fileSets>
</assembly>
tutto funziona bene. Il jar-with-dipendencies è in fase di costruzione. Il mio file zip dist è in fase di costruzione. Ma il file zip dist non contiene il file jar-with-dependencies.
+1 risposta molto bello e dettagliato –
Leggenda . Ha funzionato la prima volta. Saluti. – Ben
Grazie! C'è un modo per ottenere ciò senza collegare l'esecuzione al ciclo di vita predefinito? Solo omettere gli elementi "fase" e "obiettivi" non ha funzionato per me. –