maven使用assembly打包zip文件

在pom文件中引入assembly插件

  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.3.0<version>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <!-- 绑定到package生命周期 -->
                        <phase>package</phase>
                        <goals>
                            <!-- 只运行一次 -->
                            <goal>single</goal>
                        </goals>
                        <configuration>
                    <!-- 配置描述符文件 -->
                 <descriptor>src/main/assembly/assembly.xml</descriptor>
                </configuration>
                    </execution>
                    
                    <!--
                     <execution>
                        <id>make-assembly</id>
                        <!-- 绑定到package生命周期 -->
                        <phase>package</phase>
                        <goals>
                            <!-- 只运行一次 -->
                            <goal>single</goal>
                        </goals>
                           <configuration>
                    <!-- 配置描述符文件 -->
                 <descriptor>src/main/assembly/assemblyB.xml</descriptor>
                   </configuration>
                </execution>
                 -->
                </executions>
                
            </plugin>
        </plugins>
    </build>

添加Assembly.xml

<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd">
  <id>distribution</id>
  <formats>
    <format>zip</format>
  </formats>
  <!--当打包zip文件时是否需要基础路径,如果设置为true,则我们所有的目录外面还会包一层基础路径,如果设置为false,则不会包基础路径。默认参数为true>
  <includeBaseDirectory>false</includeBaseDirectory>
  <files>
    <file>
      <source>README.txt</source>
      <outputDirectory></outputDirectory>
      <filtered>true</filtered>
    </file>
    <file>
      <source>LICENSE.txt</source>
      <outputDirectory></outputDirectory>
    </file>
    <file>
      <source>NOTICE.txt</source>
      <outputDirectory></outputDirectory>
      <filtered>true</filtered>
    </file>
  </files>
</assembly>

执行maven命令生成

mvn clean install

Assembly常用配置

参数 描述
formats formats是assembly插件支持的打包文件格式,有zip、tar、tar.gz、tar.bz2、jar、war。可以同时定义多个format。
includeBaseDirectory 在打包文件时,是否在最外层包装一层目录,比如我们打包一个lib文件夹到zip文件中,如果我们includeBaseDirectory设置为true,则lib结构为${BaseDirectory}/lib,如果设置为false,则lib结构为lib
baseDirectory 基础目录路径,, 默认路径为${project.build.finalName}
fileSets/fileSet 用来设置一组文件,可以是目录或者是一组规则的文件
files/file 用来指定单个文件

参考链接

assembly plugin

你可能感兴趣的:(Java构建工具)