一、maven打包工具

使用maven对项目进行打包,可用以下三种plugin

  • maveb-jar-plugin : maven默认打包插件,用来创建project jar
  • maven-shade-plugin : 用来打可执行包(executable jar)
  • maven-assembly-plugin : 支持定制化打包方式

下面简单介绍以下maven-assembly-plugin

二、使用方法

1、descriptorRefs

官方提供的定制化打包方式,包括bin,jar-with-dependencies,src,project。

<project>[...]<build>[...]<plugins><plugin><!-- NOTE: We don't need a groupId specification because the group isorg.apache.maven.plugins ...which is assumed by default.--><artifactId>maven-assembly-plugin</artifactId><version>3.0.0</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration>[...]
</project>

2、descriptors

指定打包文件src/main/assembly/assembly.xml,在该配置文件内指定打包操作。

<project>[...]<build>[...]<plugins><plugin><artifactId>maven-assembly-plugin</artifactId><version>3.0.0</version><configuration><descriptors><descriptor>src/main/assembly/assembly.xml</descriptor></descriptors></configuration>[...]
</project>

三、配置文件参数解释说明

1、id

<id>release</id>

id标识符,添加到生成文件名称的后缀符。如果指定id的话,目标文件名则是 artifactId−{artifactId}-artifactId−{id}.tar.gz

2、formats

maven-assembly-plugin 支持的打包格式有zip、tar、tar.gz (or tgz)、tar.bz2 (or tbz2)、jar、dir、war,可以同时指定多个打包格式

<formats><format>tar.gz</format><format>dir</format>
</formats>

3、fileSets

管理一组文件的存放位置,核心元素如下表所示:

元素 类型 作用
outputDirectory String 指定文件集合的输出目录,该目录是相对于根目录
includes/include* List 包含文件
excludes/exclude* List 排除文件
fileMode String 指定文件属性,使用八进制表达,分别为(User)(Group)(Other)所属属性,默认为 0644
<fileSets><fileSet><includes><include>bin/**</include></includes><fileMode>0755</fileMode></fileSet><fileSet><includes><include>/conf/**</include><include>logs</include></includes></fileSet></fileSets>

files

可以指定目的文件名到指定目录,其他和 fileSets 相同,核心元素如下表所示。

元素 类型 作用
source String 源文件,相对路径或绝对路径
outputDirectory String 输出目录
destName String 目标文件名
fileMode String 设置文件 UNIX 属性
<files><file><source>README.txt</source><outputDirectory>/</outputDirectory></file></files>

工程目录结构示例

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. 回调函数的意义以及python实现
  2. 干货盘点:神策数据深度用户案例传送门
  3. .net html转为pdf,.NET使用DinkToPdf将HTML转成PDF的示例代码
  4. linux如果一个目录具有执行,Linux操作系统部分复习题答案
  5. c语言也能用模板方法模式?
  6. java的find怎么使用_java – 如何为@FindBy注释实现用户类型?
  7. mysql 事务回滚_简短截说阐述redis中事务的使用
  8. 几乎零能耗零延迟!UCLA科学家发明光衍射神经网络,登上Science
  9. jvm程序执行慢诊断手册
  10. python与excel-Python 与 Excel 终于在一起了
  11. testlink匹配mysql8_TestLink与RedMine连接部署说明
  12. php复制目录图片,php实现将base64格式图片保存在指定目录的方法
  13. Word 公式编辑器: 快捷键
  14. Servlet的生命周期
  15. Flappy bird制作过程
  16. html清除iframe的缓存,如何清除iFrame的缓存?
  17. 多线程实现 qq 群聊的服务端和客户端
  18. SwiftUI macOS源码大全之倒计时App基于coredata(教程含源码)
  19. 【LeetCode】179. 最大数
  20. linux刻录光驱是哪个好,Linux中使用mkisofs或genisoimage刻录光盘

热门文章

  1. [高考作文] 秋细雨VS叶闲花
  2. windows权限维持的方法
  3. Ubuntu系统修复GUID格式GPT硬盘的引导
  4. 南阳oj 144 小柯的苦恼
  5. 守护进程的单实例实现_非宁静无以致远_百度空间
  6. java作品欣赏_[Java教程]推荐25个强大的 jQuery 网页布局设计作品欣赏
  7. python函数图像绘制、函数不固定_Python中函数图像快速绘制的方法
  8. 博士申请——Research Proposal
  9. ftp上传工具绿色版,五款ftp上传工具绿色版好用推荐
  10. 英语学习详细笔记(八)动名词