maven-assembly-plugin
一、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相关推荐
- Maven Assembly Plugin - 如何将Maven工程打成一个可执行jar包
参考自: http://blog.csdn.net/symgdwyh/article/details/6081532 Maven Assembly Plugin http://maven.apache ...
- maven assembly plugin使用
使用场景 在使用maven来管理项目时,项目除了web项目,还有可能为控制台程序,一般用于开发一些后台服务的程序.最近在工作中也遇到了这种场景,使用quartz开发一个任务调度程序.程序中依赖很多ja ...
- 使用Maven Assembly plugin将依赖打包进jar
一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行 ...
- Maven Assembly插件介绍
你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembly插件会生成 "assemblies", 此 ...
- Spring Boot 使用 Maven assembly 插件打包
文章目录 1 摘要 2 Maven 核心依赖与配置 2.1 pom.xml 配置 2.2 assembly 配置信息 3 启动与停止脚本 3.1 启动脚本 3.2 停止脚本 4 推荐参考资料 5 Gi ...
- Maven assembly简谈
什么是Assembly? "assembly"是把一组文件.目录.依赖元素组装成一个归档文件. 比如, 假设一个 Maven project定义了一个JAR artifact,它包 ...
- maven assembly打包插件详解
定义 来自官方的定义: Maven Assembly Plugin relies on the provided assembly descriptors to dictate its executi ...
- Maven自定义打包插件Assembly Plugin简单使用
使用Assembly Plugin实现自定义打包 1.修改pom.xml <!-- 编译时自动打包,规则见distribution.xml文件--> <build><pl ...
- assembly plugin实现自定义打包
http://skydream.iteye.com/blog/437937 在上一篇文章中,讨论到在对maven的机制不熟悉的情况下,为了实现自己需要的打包格式而使用maven ant task以ma ...
- 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 ...
最新文章
- 回调函数的意义以及python实现
- 干货盘点:神策数据深度用户案例传送门
- .net html转为pdf,.NET使用DinkToPdf将HTML转成PDF的示例代码
- linux如果一个目录具有执行,Linux操作系统部分复习题答案
- c语言也能用模板方法模式?
- java的find怎么使用_java – 如何为@FindBy注释实现用户类型?
- mysql 事务回滚_简短截说阐述redis中事务的使用
- 几乎零能耗零延迟!UCLA科学家发明光衍射神经网络,登上Science
- jvm程序执行慢诊断手册
- python与excel-Python 与 Excel 终于在一起了
- testlink匹配mysql8_TestLink与RedMine连接部署说明
- php复制目录图片,php实现将base64格式图片保存在指定目录的方法
- Word 公式编辑器: 快捷键
- Servlet的生命周期
- Flappy bird制作过程
- html清除iframe的缓存,如何清除iFrame的缓存?
- 多线程实现 qq 群聊的服务端和客户端
- SwiftUI macOS源码大全之倒计时App基于coredata(教程含源码)
- 【LeetCode】179. 最大数
- linux刻录光驱是哪个好,Linux中使用mkisofs或genisoimage刻录光盘