Mam projekt, w którym próbuję utworzyć dystrybucyjny plik zip, który zawiera (między innymi plikami) plik wykonywalny z zależnościami mojego projektu java.Wtyczka maven-assembly - jak tworzyć zagnieżdżone złożenia
Więc rodzaju ma to wyglądać tak:
-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...
Używam plugin montaż oraz predefiniowane deskryptor „Jar-z zależnościami”, aby utworzyć mój plik wykonywalny jar.
Podajemy osobny wpis wtyczki zespołu w moim pom, odwołując się do deskryptora niestandardowego, aby spróbować skompilować dystrybuowalny plik zip.
więc częścią mojego pom wygląda następująco:
<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>
A mój zwyczaj deskryptor wygląda następująco:
<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>
Wszystko działa poprawnie. Tworzone są słoiki zależne. Tworzony jest mój dist plik ZIP. Plik dist zip nie zawiera pliku jar-with-dependencies.
+1 bardzo ładne i szczegółowy odpowiedź –
Legend . Pracował po raz pierwszy. Twoje zdrowie. – Ben
Dzięki! Czy istnieje sposób, aby to osiągnąć, nie przypisując wykonania do domyślnego cyklu życia? Pominięcie elementów "fazy" i "celów" nie działa dla mnie. –