我有一個項目,我試圖創建一個分佈zip文件,其中包含(其他文件)與我的java項目的依賴關係的可執行jar。maven-assembly插件 - 如何創建嵌套程序集
所以我有點希望它看起來是這樣的:
-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...
我使用的組件插件,以及預定義的描述符「JAR-與依賴性」創建我的可執行的JAR文件。
我在我的pom中指定了一個單獨的程序集插件條目,引用自定義描述符來嘗試構建可分發的zip文件。
所以我的聚甲醛的部分看起來像這樣:
<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>
而且我自定義的描述是這樣的:
<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>
,一切工作正常。 jar-with-dependencies正在構建中。我的dist zip文件正在建立中。但dist zip文件不包含jar-with-dependencies文件。
+1非常好的,詳細的解答 – 2009-10-06 10:12:24
傳奇。第一次工作。乾杯。 – Ben 2009-10-06 21:09:33
謝謝!有沒有辦法在不將執行附加到默認生命週期的情況下實現這一點?只是省略「階段」和「目標」元素對我而言並不適用。 – 2010-04-26 09:34:34