Apache Maven Assembly插件详解
来源:互联网 发布:python sum axis 1 编辑:程序博客网 时间:2024/06/07 15:22
Apache Maven项目提供的Maven插件Assembly能够将Maven应用的输出及其依赖库整合打包为一个压缩包,以便于应用的分发使用。
Assembly插件的最新版本是2017.8.13发布的3.1.0。
需要说明的是,Assembly插件只能原样打包,将各种依赖库打包在一起。而如果在打包过程中要解决冲突,或者在打包过程中进行某些转换,如剔除License重复等,则需要借助于一个更强大的Maven Shade插件。
1. Assembly插件的goals
- single
- help
2. Assembly插件在Maven应用中的基本使用步骤
1) 编辑应用的定制assembly descriptor(通常不必要,可以使用Assembly插件提供的预定义descriptor文件,详见下文)
src/assembly/src.xml
2) 编辑应用的pom.xml,配置插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> </plugin>3) 执行命令
mvn assembly:single
3. Assembly插件的4个预定义的descriptor文件
- jar-with-dependencies
- src
- bin
- project
4. 使用Assembly插件预定义的jar-with-dependencies文件
<plugin> <!-- groupId is not required, because the group is org.apache.maven.plugins ...which is assumed by default. --> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin>
<plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- bind to the packaging phase --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
后续可以直接执行mvn package,这也是最常见的Assembly插件配置方式。
6. 在Maven应用中同时设置多个descriptor文件
<plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <descriptors> <descriptor>src/assembly/src.xml</descriptor> </descriptors> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <plugin>这里,配置了标准的jar-with-dependencies和定制的文件src.xml(定制文件详见Assembly Examples)。
7. 创建可执行的jar
即通过pom.xml设置jar文件中的mainClass
<plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>org.sample.App</mainClass> </manifest> </archive> </configuration> </plugin>
参考链接:
https://maven.apache.org/plugins/maven-assembly-plugin/index.html
阅读全文
1 0
- Apache Maven Assembly插件详解
- Maven插件assembly配置
- Maven插件应用-assembly
- Maven Assembly插件介绍
- Maven Assembly插件介绍
- Maven Assembly插件介绍
- Maven Assembly插件介绍
- Maven Assembly插件介绍
- Maven Assembly插件介绍
- maven assembly插件使用
- maven assembly插件使用
- Maven-assembly-plugin插件
- Maven[一]:assembly插件
- Maven Assembly插件介绍
- Apache Maven Shade插件详解
- maven assembly 配置详解
- Maven学习总结(27)——Maven自定义打包插件maven-assembly-plugin详解
- 坑爹锦集之 maven-assembly 插件
- Ⅴ vue2.0 项目实战
- 实验二——双向链表
- oracle数据库写入数据的过程
- 【CodeForces
- 讲解基本自然语言处理NLP
- Apache Maven Assembly插件详解
- c primer plus 第十一章学习小结
- springmvc异常StandardWrapper.Throwable
- map中[]运算符和find的区别
- Map集合
- Java8 新特性之Stream----java.util.stream
- beginning spring boot 2.pdf 英文原版免费下载
- 剑指offer之二叉树的深度(Python)
- 文章标题