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>标签
相关推荐
失散133 分钟前
架构师级别的电商项目——2 电商项目核心需求分析
java·分布式·微服务·架构·需求分析
Kuo-Teng39 分钟前
LeetCode 198: House Robber
java·算法·leetcode·职场和发展·动态规划
小七mod1 小时前
【Spring】Spring Boot自动配置的案例
java·spring boot·spring·自动配置·源码·ioc·aop
红石榴花生油1 小时前
Docker + Nginx 部署 Java 项目(JAR 包 + WAR 包)实战笔记
java·tomcat·maven
带刺的坐椅1 小时前
Solon AI 开发学习 - 1导引
java·ai·openai·solon·mcp
sg_knight1 小时前
RabbitMQ 中的预取值(prefetch)详解:如何真正提升消费端性能?
java·spring boot·spring·spring cloud·消息队列·rabbitmq·预取值
Dxxyyyy1 小时前
零基础学JAVA--Day34(Map接口+HashTable+HashMap+TreeSet+TreeMap+开发中如何选择集合实现类?(重要))
java·开发语言
spencer_tseng2 小时前
Tomcat Source Code Distributions
java·tomcat
烤麻辣烫2 小时前
23种设计模式(新手)-5里氏替换原则
java·学习·设计模式·intellij-idea·里氏替换原则
喵手2 小时前
网络编程:Java中的TCP与UDP通信!
java·udp·网络编程·tcp