码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • <packaging>pom</packaging> 的作用与maven的分模块管理了解


    文章目录

        • 1. 一句话
        • 2. 父pom例子
        • 3. packing为pom的作用

    1. 一句话

    当我们使用maven进行分模块管理时,都会有一个父级项目。其中pom文件有一个重要的属性:packaging,即打包类型,默认为jar类型。且当maven分模块管理时:
     
    Maven多模块项目的聚合,父项目必须将packing 指定 为 pom

    官网:

    introduction-to-the-pom

     

    2. 父pom例子

    
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
    
        <groupId>org.examplegroupId>
        <artifactId>gaoliang-bigdataartifactId>
        <version>1.0-SNAPSHOTversion>
        <modules>
            <module>spark-demomodule>
            <module>flink-demomodule>
        modules>
        <packaging>pompackaging>
    project>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

     

    3. packing为pom的作用

    参考:
    https://www.baeldung.com/maven-packaging-types

    聚合:Among all packaging types, pom is the simplest one. It helps to create aggregators and parent projects.
     
    An aggregator or multi-module project assembles submodules coming from different sources. These submodules are regular Maven projects and follow their own build lifecycles. The aggregator POM has all the references of submodules under the modules element.
     
    管理继承和集成:A parent project allows you to define the inheritance relationship between POMs. The parent POM shares certain configurations, plugins, and dependencies, along with their versions. Most elements from the parent are inherited by its children — exceptions include artifactId, name, and prerequisites.

    1. 子模块之间依赖传递
    2. 对父级项目执行maven命令时,会对所有的子模块执行相同的命令。
    3. 定义pom之间的继承关系
    4. 统一管理依赖和一些插件
  • 相关阅读:
    活动回顾 | 数字外贸私享会【上海站】成功举办
    音视频入门基础:H.264专题(14)——计算视频帧率的公式
    工业AI视觉检测优势显著,深眸科技为工业自动化发展注入更强动力
    smile——Java机器学习引擎
    宽带光纤接入网中影响家宽业务质量的常见原因有哪些
    UNI-APP apk使用io流进行文件操作
    CompletableFuture使用详解
    Flume启停脚本f1.sh
    (仿牛客论坛项目)01 - 开发社区首页
    详解数据挖掘
  • 原文地址:https://blog.csdn.net/hiliang521/article/details/128210297
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号