`
zhaohaolin
  • 浏览: 1010812 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Maven assembly实现自定义打包(转)

 
阅读更多

maven-assembly-plugin : 是maven中针对打包任务而提供的标准插件

(1)、在pom.xml 文件里面的配置说明

[html] view plain copy
  1. < plugin >   
  2.     < artifactId > maven-assembly-plugin </ artifactId >   
  3.     < executions >    <!--执行器 mvn assembly:assembly-->   
  4.         < execution >   
  5.             < id > make-zip </ id > <!--名字任意 -->     
  6.         < phase > package </ phase > <!-- 绑定到package生命周期阶段上 -->     
  7.         < goals >     
  8.            < goal > single </ goal > <!-- 只运行一次 -->     
  9.         </ goals >     
  10.             < configuration >   
  11.                      < descriptors >   <!--描述文件路径-->   
  12.                           < descriptor > src/main/resources/zip.xml </ descriptor >   
  13.                     </ descriptors >   
  14.             </ configuration >   
  15.         </ execution >   
  16.     </ executions >   
  17.  </ plugin >   



(2)、 zip.xml 文件配置如下

[html] view plain copy
  1. < assembly   
  2.     xmlns = "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"   
  3.     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   
  4.     xsi:schemaLocation = "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd" >   
  5.     < id > release </ id >   
  6.     < formats >   
  7.         < format > zip </ format >   
  8.     </ formats >   
  9.     < fileSets >   
  10.         < fileSet >   
  11.             < directory > ${project.basedir}\src\main\config </ directory >   
  12.             <!-- 过滤 -->   
  13.             < excludes >   
  14.                 < exclude > *.xml </ exclude >   
  15.             </ excludes >   
  16.             < outputDirectory > \ </ outputDirectory >   
  17.         </ fileSet >   
  18.     </ fileSets >   
  19.       
  20.     < dependencySets >   
  21.         < dependencySet >   
  22.             < useProjectArtifact > true </ useProjectArtifact >   
  23.             < outputDirectory > lib </ outputDirectory > <!-- 将scope为runtime的依赖包打包到lib目录下。 -->   
  24.             < scope > runtime </ scope >   
  25.         </ dependencySet >   
  26.     </ dependencySets >   
  27. </ assembly >   


(3)、 zip.xml 格式属性说明

打包的文件格式
可以有:tar.zip war zip
<formats>
 <format>zip</format>
</formats>

 

需要打包的路径
<directory>${project.basedir}</directory>

 

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

 

打包需要包含的文件

 <excludes>
        <exclude>junit:junit</exclude>
        <exclude>commons-lang:commons-lang</exclude>
        <exclude>commons-logging:commons-logging</exclude>
</excludes>

 

当前项目构件是否包含在这个依赖集合里。

<useProjectArtifact>true</useProjectArtifact>

 

依赖包打包到目录下
<dependencySets>
  <dependencySet>
   <outputDirectory>lib</outputDirectory><!-- 将scope为runtime的依赖包打包到lib目录下。 -->
   <useProjectArtifact>true</useProjectArtifact>
   <scope>runtime</scope>
  </dependencySet>
</dependencySets>

分享到:
评论

相关推荐

    Maven build插件之Maven-assembly-plugin自定义打包

    Maven-assembly-plugin是maven中针对打包任务而提供的标准插件,可以实现自定义打包。主要提供如下功能: ● 提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 ● 打包成指定格式分发包,...

    maven-assembly 自定义打包方式

    在自定义打包过程中,如果`agentStore`是一个包含配置文件或者重要资源的目录,我们可以将其添加到`assembly.xml`文件的`fileSets`中,确保它被正确地包含进打包文件。 例如: ```xml &lt;directory&gt;src/main/...

    使用Maven assembly打多个自定义包及War包简介

    本篇文章将深入探讨如何使用Maven Assembly插件来创建多个自定义包以及War包,这对于Java开发者来说尤其重要,因为它使得项目打包和分发变得更加方便。 Maven是一个强大的Java项目管理工具,它通过配置文件POM...

    maven assembly 插件 代码实现

    Maven Assembly插件不仅可以使用预定义的`descriptorRefs`,还可以通过自定义assembly.xml文件来详细控制打包过程。例如,你可以决定哪些文件和目录包含在归档中,文件的相对路径,甚至可以指定文件的权限等。以下是...

    maven打包dubbo服务接口(maven-assembly-plugin)

    本篇文章将详细探讨如何使用Maven的`maven-assembly-plugin`插件来打包Dubbo服务接口。 首先,我们要理解Maven的生命周期和构建过程。Maven有多个生命周期阶段,如`clean`、`compile`、`test`、`package`等,每个...

    Maven3种打包方式中maven-assembly-plugin的使用详解

    其中,maven-assembly-plugin 是一个非常强大和灵活的插件,支持自定义的打包结构,并且可以定制依赖项等。本文将详细介绍 maven-assembly-plugin 的使用,包括其基本概念、配置方法和实践应用。 Maven 打包方式的...

    maven 使用assembly 进行打包的方法

    通过这种方式,你可以自定义打包过程,满足项目中不同场景的需求,如生成包含依赖的可运行JAR,或者创建包含源码和文档的发布包。这种灵活性使得Maven Assembly Plugin成为Java开发中的一个重要工具。

    Maven打包实战.zip

    此外,还可以通过“运行配置”创建Maven构建,自定义打包命令和参数。 在“打包实战”中,你可能会学到如何处理依赖、解决版本冲突、配置插件、以及如何生成包含所有依赖的可执行JAR(fat JAR)。这通常通过`maven-...

    Maven 生成打包可执行jar包的方法步骤

    Maven提供了多种打包插件,如maven-jar-plugin(默认的JAR打包插件)、maven-shade-plugin(用于生成可执行的fat JAR)和maven-assembly-plugin(支持自定义打包)。在这个场景中,我们将使用maven-jar-plugin和...

    assembly plugin打包

    Assembly Plugin是Maven的一个插件,用于创建自定义的归档文件,如JAR、WAR或ZIP格式,包含项目的所有依赖、资源和配置文件。 在博文链接(已提供但无法直接访问)中,作者可能详细讲解了如何配置和使用Maven ...

    maven plugin打包下载

    1. **打包**:在项目开发完成后,开发者可以使用`maven-assembly-plugin`或`maven-shade-plugin`进行打包。`assembly-plugin`用于创建自定义的归档文件,如包含所有依赖的ZIP或JAR。`shade-plugin`则可以合并多个JAR...

    maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh

    Maven Assembly 插件用于创建自定义的归档文件,如JAR、WAR或ZIP,包含项目的所有依赖、资源和配置文件。这使得开发者能够打包一个完整的运行环境,方便部署。在配置中,我们看到以下关键点: 1. **assembly.xml** ...

    Maven-assemble打包使用案例

    `assembly.xml`的语法基于Maven Assembler Descriptors,这是一种XML格式,允许你精细控制打包过程。 在实际案例中,比如博文链接中提到的"2258183",作者可能详细介绍了如何配置`assembly.xml`,以及如何在Maven的...

    assembly.zip

    "assembly"文件可能包含自定义的assembly.xml配置文件,这个文件定义了打包过程的具体细节,如要包含的文件、目录结构、过滤器等。开发者可以通过在pom.xml中配置Assembly插件,并指定对应的assembly描述符来使用这...

    ​实现maven项目中多版本依赖兼容使用解决方案

    这可以通过Maven的`maven-assembly-plugin`或`maven-shade-plugin`来实现,这两个插件可以将所有依赖打包成单个jar,或者创建一个包含所有依赖的“fat jar”。 对于`maven-assembly-plugin`,配置如下: ```xml ...

    java application maven项目打自定义zip包实例(推荐)

    总结来说,通过在Maven项目的`pom.xml`文件中进行适当的配置,我们可以实现自定义ZIP包的创建,这包括指定资源的处理方式、编译参数、主类信息以及打包插件的设置。这样的打包方式不仅便于项目的部署,还使得配置...

    assembly.rar

    总结来说,“assembly.rar”压缩包揭示了基于IDEA和Maven的Dubbo项目打包过程,涉及到的知识点包括Maven Assembly插件的使用、Dubbo服务的配置与实现、以及项目打包的最佳实践。理解并掌握这些知识点,对于开发者在...

    maven安装包

    4. **插件使用**:Maven 插件丰富,如使用 `maven-surefire-plugin` 运行测试,`maven-assembly-plugin` 创建自定义打包,`maven-javadoc-plugin` 生成 API 文档等。 5. **生命周期与构建阶段**:Maven 有三个主要...

    demo-maven-pkg.zip

    总结来说,这个"demo-maven-pkg.zip"是使用Maven的插件功能,可能结合`maven-assembly-plugin`或`maven-resources-plugin`,将一个Maven项目及其相关资源和依赖打包成ZIP格式的文件,便于分发和部署。具体的内容和...

    Maven by Example pdf英文原版

    可以利用Maven插件如assembly插件,将项目及其依赖打包成一个可分发的应用程序。 ### Maven在Web应用项目中的应用 1. **简单的Web应用项目** Maven同样适用于Web应用程序。用户可以使用Maven标准的目录结构来组织...

Global site tag (gtag.js) - Google Analytics