maven-assembly-plugin简介

使用assembly插件非常简单,如果想要使用预制的assembly描述符,则通过<descriptorRefs>/<descriptorRef>参数配置描述符。如果想要使用自定义assembly描述符,则使用<descriptors>/<descriptor>参数配置描述符的路径。

对assembly插件的一次调用,实际上可以从多个描述符生成程序集。可以最大限度的灵活定制项目生成的二进制文件组。在同一个配置中<descriptorRefs>和<descriptors>可以混合使用。当创建程序集时,使用程序集id作为artifact的分类器,并将创建的程序集附加到项目上,以便在安装和部署阶段将其上载到存储库中。

如在pom.xml中build/plugins下添加如下配置:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.1</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
</plugin>

表示使用assembly预制的描述符jar-with-dependencies创建包含项目依赖的程序集二进制文件。

在大多数情况下,需要确保程序集的创建为构建过程的一部分,这样可以确保程序集可用于安装和部署。可通过assembly:single来实现。

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.1</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

如上配置将创建程序集绑定到了package阶段。则在执行mvn package后,会在target目录下生成类似的文件:

XXX-1.0-SNAPSHOT-jar-with-dependencies.jar,在版本和后缀之间的jar-with-dependencies为用于创建程序集的描述符的id,即自定义的assembly描述符文件中配置的id。如果不想在文件或目录后追加此id,可以在配置中将appendAssemblyId设置为false,如下:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.1</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <appendAssemblyId>false</appendAssemblyId>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

虽然可以将single绑定到构建周期的任何阶段,但是一定要确保在创建程序集的时候,需要的资源已经存在,这时还可以通过mvn assembly:single来创建程序集。assembly描述符文件的配置可以参考官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值