概述
使用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描述符文件的配置可以参考官方文档。
最后
以上就是呆萌帅哥为你收集整理的maven-assembly-plugin简介的全部内容,希望文章能够帮你解决maven-assembly-plugin简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复