码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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。

    
      [...]
      
        [...]
        
          
            
            maven-assembly-plugin
            3.0.0
            
              
                jar-with-dependencies
              
            
            [...]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    2、descriptors

    指定打包文件src/main/assembly/assembly.xml,在该配置文件内指定打包操作。

    
      [...]
      
        [...]
        
          
            maven-assembly-plugin
            3.0.0
            
              
                src/main/assembly/assembly.xml
              
            
            [...]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    三、配置文件参数解释说明

    1、id

    release
    
    • 1

    id标识符,添加到生成文件名称的后缀符。如果指定id的话,目标文件名则是 a r t i f a c t I d {artifactId}- artifactId{id}.tar.gz

    2、formats

    maven-assembly-plugin 支持的打包格式有zip、tar、tar.gz (or tgz)、tar.bz2 (or tbz2)、jar、dir、war,可以同时指定多个打包格式

    
        tar.gz
        dir
    
    
    • 1
    • 2
    • 3
    • 4

    3、fileSets

    管理一组文件的存放位置,核心元素如下表所示:

    元素

    类型

    作用

    outputDirectory

    String

    指定文件集合的输出目录,该目录是相对于根目录

    includes/include*

    List

    包含文件

    excludes/exclude*

    List

    排除文件

    fileMode

    String

    指定文件属性,使用八进制表达,分别为(User)(Group)(Other)所属属性,默认为 0644

    
        
          
            bin/**
          
          0755
        
    
        
          
            /conf/**
            logs
          
        
    
      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    files

    可以指定目的文件名到指定目录,其他和 fileSets 相同,核心元素如下表所示。

    元素

    类型

    作用

    source

    String

    源文件,相对路径或绝对路径

    outputDirectory

    String

    输出目录

    destName

    String

    目标文件名

    fileMode

    String

    设置文件 UNIX 属性

    
        
          README.txt
          /
        
      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    工程目录结构示例

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pxH3zFn3-1623839921009)(C:Usersliuzhihao.HOLLYSYSAppDataRoamingTypora	ypora-user-imagesr3836394032.png)]

  • 相关阅读:
    DDPM的学习
    使用LRU加速python应用
    AcWing算法提高课-5.6.1同余方程
    JVM之垃圾回收与内存分配
    在element-plus中想要多选框(Checkbox)的功能,但是想要单选框(Radio)的圆形样式如何实现
    强制结束subprocess.Popen开启的任务
    PCL点云处理之利用颜色RGB的SHOT特征描述方法 (二百一十七)
    【网络是怎样连接的】第六章 请求到达服务器以及响应给客户端(完结)
    GBASE 8A v953报错集锦55--Load data 数据中含有 longtext 报内存不足
    如何在Spring 中将文件作为字符串加载?
  • 原文地址:https://blog.csdn.net/m0_67403272/article/details/126435178
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号