Maven的总结

先要了解maven是什么?

Maven就是一个软件,掌握软件安装、配置、以及基本功能(项目构建、依赖管理)使用就是本课程的主要目标!

最主要的功能是为了方便Java项目jar包的导入

认识Maven

maven的GVAP属性

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,这四个属性主要为每个项目在maven仓库总做一个标识

GAV遵循一下规则:

1) GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。

说明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。

2) ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。

3) **Version版本号格式推荐**:主版本号.次版本号.修订号 1.0.0

1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。

2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。

例如: 初始→1.0.0 修改bug → 1.0.1 功能调整 → 1.1.1等

Packaging定义规则:

指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!

packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。

packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。

packaging 属性为 pom,代表不会打包,用来做继承的父工程。

核心功能和出现的问题

  1. dependence的配置(依赖的管理和添加)

  2. 依赖循环

  3. 导入的依赖之间版本不匹配

  4. 项目构建

继承和聚合

  1. 继承:字面意思,同Java中的继承,子模块继承父模块的maven中的依赖
  2. 聚合:父模块将子模块聚合起来,形成一个项目。一般在父模块中有<modules>标签
相关推荐
Mahir087 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit8 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码8 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事9 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海9 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠9 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特10 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU10 小时前
Spring IoC&DI
java·数据库·spring
один but you11 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
是码龙不是码农11 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool