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>标签
相关推荐
爱吃喵的鲤鱼3 分钟前
Linux——线程条件变量(同步)
java·开发语言
东小黑8 分钟前
java方法以及与C语言对比学习
java·c语言·学习
黄雪超8 分钟前
Java面试专题——面向对象
java·面试·面向对象
007php00725 分钟前
go语言zero框架通过chromedp实现网页在线截图的设计与功能实现
java·开发语言·后端·python·docker·云原生·golang
寒山李白1 小时前
MySQL入门(数据库、数据表、数据、字段的操作以及查询相关sql语法)
java·数据库·sql·mysql
蚂蚁质量1 小时前
什么是 Java 虚拟机(JVM)?
java·开发语言·jvm
日拱一卒无有尽, 功不唐捐终入海1 小时前
Mybatis乐观锁使用
java·开发语言·jvm·mybatis
青柚~1 小时前
【Idea启动项目报错NegativeArraySizeException】
java·ide·intellij-idea
浅念同学2 小时前
网络编程-网络原理HTTP初识
java·网络·网络协议·http
骇客野人2 小时前
2024又是一年的CSDN之旅-总结过去展望未来
java