![](/img/trans.png)
[英]How can we zip two separate directories in seperate zip files, using assembly plugin?
[英]How to zip only specific directories using maven assembly plugin
我在構建項目時使用 maven-assembly-plugin 創建項目的 zip 文件。 這是成功的。 現在我想要的是只壓縮項目中的特定目錄。
這是我以前使用的pom中插件的代碼。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make shared resources</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<descriptors>
<descriptor>resource.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
而resource.xml 文件如下。
<assembly>
<id>resources</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<!-- Since it bundles all the units -->
<directory></directory>
<outputDirectory>/project</outputDirectory>
<excludes>
<exclude>pom.xml</exclude>
<exclude>*.iml</exclude>
<exclude>*.jar</exclude>
<exclude>**/src/**</exclude>
<exclude>**/target/**</exclude>
<exclude>resource.xml</exclude>
</excludes>
</fileSet>
</fileSets>
</assembly>
我只想在 maven 構建中壓縮項目的一些目錄。
例如,我在項目中有以下文件夾結構。
project
|_directories
|_dir1
|_ ....
|_dir2
|_ ....
|_dir3
|_ ....
|_pom.xml
我想要的是制作僅包含目錄文件夾的 zip 文件。 解壓縮我的 zip 文件時,它應該只包含其中的四個目錄。
我怎樣才能做到這一點? maven-assembly-plugin 是否足以做到這一點,還是我應該創建一個 mojo?
您誤用了directory
和outputDirectory
。
directory
是項目中要壓縮的文件所在的路徑(因此在您的情況下應該是directories
), outputDirectory
是生成 zip 文件內的文件夾,文件集所在的位置(因為您不想要頂級目錄, 應該是/
):
<assembly>
<id>resources</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<!-- Take everything inside the directories folder -->
<directory>directories</directory>
<!-- And place it inside the root of the zip file -->
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
</assembly>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.