Maven常用插件介绍:Maven-assembly-plugin插件

2024-05-29 10:18

本文主要是介绍Maven常用插件介绍:Maven-assembly-plugin插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:插件的作用

Maven-assembly-plugin插件作用:要想将写的程序和它本身所依赖的jar包一起build到一个包里,是maven中针对打包任务而提供的标准插件

其他的功能:

1.      提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。

2.      打包成指定格式分发包,支持各种主流的格式如ziptar.gzjarwar等,具体打包哪些文件是高度可控的。

3.      能够自定义包含/排除指定的目录或文件。

二:使用步骤:

1.       需要指定一个Assembly描述符文件,该文件指定了打包格式,包含的文件/过滤的文件等信息,可以同时指定多个描述符文件,打包成不同的格式;

2.      工程的pom.xml里配置Assembly插件。

三:案例介绍

  <plugin>

               <groupId>org.apache.maven.plugins</groupId> 

                <artifactId>maven-assembly-plugin</artifactId>

                <version>2.4.1</version>

                <executions>

                    <execution>

                        <id>${project.version}</id><!--名字任意 -->

                        <phase>package</phase>   <!-- 绑定到package生命周期阶段上 -->

                        <goals>

                            <goal>single</goal>   <!-- 只运行一次 -->   

                        </goals>

                        <configuration>

                            <descriptors>   <!--描述文件路径--> 

                                <descriptor>dist.xml</descriptor>

                            </descriptors>

                            <!--这样配置后,mvn deploy不会把assembly打的zip包上传到nexus-->

                            <attach>false</attach>

                        </configuration>

                    </execution>

                </executions>

            </plugin>

Dist.xml文件描述:

<assemblyxmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2

          http://maven.apache.org/xsd/assembly-1.1.2.xsd">

    <id>dist</id>

    <formats><!--打包的文件格式 -->

        <format>zip</format>

    </formats>

    <fileSets>

        <fileSet>

            <directory>src/main/bin</directory><!--需要打包的目录 -->

            <outputDirectory>/bin</outputDirectory> <!-- 打包后输出的路径 -->

        </fileSet>

        <fileSet>

            <directory>src/main/conf</directory>

            <outputDirectory>/conf</outputDirectory>

        </fileSet>

    </fileSets>

    <dependencySets>

        <dependencySet>

            <useProjectArtifact>true</useProjectArtifact><!-- 当前项目构件是否包含在这个依赖集合里 -->

            <outputDirectory>lib</outputDirectory><!--scoperuntime的依赖包打包到lib目录下。 -->

           

        </dependencySet>

    </dependencySets>

</assembly>

 

 

这篇关于Maven常用插件介绍:Maven-assembly-plugin插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013390

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址