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

相关文章

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Redis中的常用的五种数据类型详解

《Redis中的常用的五种数据类型详解》:本文主要介绍Redis中的常用的五种数据类型详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis常用的五种数据类型一、字符串(String)简介常用命令应用场景二、哈希(Hash)简介常用命令应用场景三、列表(L

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir