使用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简介相关推荐

  1. Maven Assembly Plugin - 如何将Maven工程打成一个可执行jar包

    参考自: http://blog.csdn.net/symgdwyh/article/details/6081532 Maven Assembly Plugin http://maven.apache ...

  2. maven assembly plugin使用

    使用场景 在使用maven来管理项目时,项目除了web项目,还有可能为控制台程序,一般用于开发一些后台服务的程序.最近在工作中也遇到了这种场景,使用quartz开发一个任务调度程序.程序中依赖很多ja ...

  3. 使用Maven Assembly plugin将依赖打包进jar

    一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行 ...

  4. Maven Assembly插件介绍

    你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembly插件会生成 "assemblies", 此 ...

  5. Spring Boot 使用 Maven assembly 插件打包

    文章目录 1 摘要 2 Maven 核心依赖与配置 2.1 pom.xml 配置 2.2 assembly 配置信息 3 启动与停止脚本 3.1 启动脚本 3.2 停止脚本 4 推荐参考资料 5 Gi ...

  6. Maven assembly简谈

    什么是Assembly? "assembly"是把一组文件.目录.依赖元素组装成一个归档文件. 比如, 假设一个 Maven project定义了一个JAR artifact,它包 ...

  7. maven assembly打包插件详解

    定义 来自官方的定义: Maven Assembly Plugin relies on the provided assembly descriptors to dictate its executi ...

  8. Maven自定义打包插件Assembly Plugin简单使用

    使用Assembly Plugin实现自定义打包 1.修改pom.xml <!-- 编译时自动打包,规则见distribution.xml文件--> <build><pl ...

  9. assembly plugin实现自定义打包

    http://skydream.iteye.com/blog/437937 在上一篇文章中,讨论到在对maven的机制不熟悉的情况下,为了实现自己需要的打包格式而使用maven ant task以ma ...

  10. maven assembly打包zip报错 You must set at least one file.

    文章目录 maven assembly打包Error creating assembly archive pack: You must set at least one file. maven ass ...

最新文章

  1. 鼎尚影院计算机售票管理系统,电影院售票管理信息系统
  2. Oracle Study--RAW Device在Oracle下的应用
  3. Mindmanager 甘特图杠上Mindmanager 鱼骨图
  4. html实现圆圈逐渐放大,CSS3 简单的圆形放大旋转变换
  5. python100行代码-python代码统计 100行
  6. TwinVQ解码框图
  7. 解决忘记oracle管理员密码(转)
  8. Oracle 创建主键自增表
  9. (Spring程序开发)简介程序开发步骤配置文件相关API
  10. 每小时50哈希——看看一个内部员工是如何摧毁整个公司网络的?
  11. mongodb MapReduce
  12. 如何手动启动消防广播_怎样启动消防应急广播及求救系统?
  13. php 持久化对象,php-对类持久化的引用
  14. 怎么在Telegram电报纸飞机中搜索频道群组机器人教程。
  15. webstorm破解版
  16. iso是什么意思/iso9001质量管理体系认证有哪些标准
  17. 在java中用log4j写日志文件
  18. 每天五分钟机器学习:随着算法迭代次数动态调整学习率
  19. delphi2007下载地址
  20. Windows Installer:正在安装其他程序。请等待该安装完成,然后再次尝试安装此软件

热门文章

  1. 问题 A: THE FOOL
  2. CSS3 Text Shadow
  3. opencv判断 线夹角_python opencv实现直线检测并测出倾斜角度(附源码+注释)
  4. 360董事会秘书张帆卸任 周鸿祎提名王巍接替工作
  5. 细数龙芯、海光、鲲鹏之间性能和生态的特点
  6. 【7】强化学习之策略梯度(Policy Gradient)
  7. EM算法原理及其在NLP中的应用
  8. VSCode调试go
  9. 如何根据仪表的整体精度来选择运算放大器
  10. 赵小楼《天道》《遥远的救世主》解读(70)强者的必经之路:面对自已