有关Maven的个人笔记总结

  • Maven

    • pom.xml文件详解

      • 一级标签

        • bulid( 定义了项目的构建配置,包括编译、测试、打包等过程。可以指定插件和构建生命周期。)

        • dependces(列出了项目依赖的所有外部库。每个依赖项都指定了其坐标(groupId, artifactId, version))

        • depencymanagement( 用于集中管理依赖版本,确保所有子模块使用相同的依赖版本,用于解决jar包依赖其他jar包产生的版本冲突的问题)

        • parent(指定当前项目的父POM。父POM可以定义一些默认配置,如依赖管理、插件管理等,子项目继承这些配置。)

        • module(列出多模块项目中的所有子模块。每个子模块都是一个独立的Maven项目)

    • 依赖范围控制

      • 定义

        • 当我们引入第三方jar包时,,每个jar包都在Maven的生命周期都有一定生效范围,具体的讲生效范围有编译时(src/mian路径都生效),测试时(src/test路径都生效),打包时(在打包前的时候生效),具体控制则需要通过<scope>标签控制,写在一级标签dependces标签里面。
      • Scope的值

        • compile

        • test

        • provide

        • runtime

        • system

    • maven模块化管理

      • maven将一个大型项目拆分成多个小模块方式,每个模块都能够都能够单独的运行,测试和部署

      • 组成

        • 父项目

          • 父项目是一个聚合项目,不包含任何实际的代码,主要负责管理子模块的依赖和插件配置,打包方式必须pom,通过module标签聚合子模块
        • 子项目

          • 是是实际包含代码的项目,每个子模块都有自己的 pom.xml 文件,子模块通过 <parent> 标签引用父项目,继承父项目的配置。
相关推荐
张较瘦_1 小时前
[论文阅读] 软件工程 | 告别“线程安全玄学”:基于JMM的Java类静态分析,CodeQL3分钟扫遍GitHub千仓错误
java·论文阅读·安全
A尘埃3 小时前
智慧零售全渠道业务中台系统
java·零售
悠哉悠哉愿意5 小时前
【机器学习学习笔记】线性回归实现与应用
笔记·学习·机器学习
大筒木老辈子5 小时前
Linux笔记---计算机网络概述
linux·笔记·计算机网络
小wanga6 小时前
C++知识
java·开发语言·c++
我是渣哥7 小时前
Java String vs StringBuilder vs StringBuffer:一个性能优化的探险故事
java·开发语言·jvm·后端·算法·职场和发展·性能优化
工一木子7 小时前
深入Java并发:锁机制原理剖析与性能优化实战
java·性能优化·并发·
你我约定有三7 小时前
java--写在 try 中的创建连接
java·开发语言
ERP老兵-冷溪虎山7 小时前
Python/JS/Go/Java同步学习(第三篇)四语言“切片“对照表: 财务“小南“纸切片术切凭证到崩溃(附源码/截图/参数表/避坑指南/老板沉默术)
java·javascript·python·golang·中医编程·四语言同步学习·职场生存指南