Maven
简介:
Maven 是一个主要用于 Java 项目的管理工具。
它有以下主要特点:
1.依赖管理:自动下载和管理项目所需的依赖库(jar包),解决依赖冲突,实现依赖传递。
2.提供标准统一的项目结构,使得代码可以在不同的开发工具之间移植。
Maven的模型
通过各种插件完成对Maven标准化的构建
Maven的仓库:
本地仓库在安装Maven时可以自己指定
当安装库时首先在本地仓库中查找,如果没有则从中央仓库进行下载,然后再从本地仓库进行链接。
由于中央仓库在外网进行维护,所以引入了私服。
通过私服对中央仓库的资源进行下载。而在企业级开发中,只要一个用户进行下载,就会在本地中留下其用到的jar包资源,提高开发效率。
Maven的安装和配置
IDEA 集成MAVEN
1.在项目中配置
2.配置全局参数
创建Maven项目
Maven的坐标
在 Maven 中,坐标(coordinate)用于唯一标识一个项目或依赖项。它由三个主要部分组成:groupId、artifactId 和 version。
一、groupId
定义
通常是项目的组织或团体的唯一标识符,类似于 Java 的包名结构。它一般采用反向域名的形式,例如 org.springframework。
作用
用于区分不同的项目组织或团体开发的项目。当多个项目使用 Maven 进行管理时,groupId 可以确保不同组织的项目不会发生冲突。
二、artifactId
定义
是项目的唯一名称,在同一个 groupId 下必须是唯一的。例如,对于 Spring Framework 项目,artifactId 可能是 spring-core。
作用
具体标识一个项目或模块。在 Maven 的仓库中,通过 groupId 和 artifactId 的组合可以准确地找到特定的项目或依赖项。
三、version
定义
表示项目或依赖项的版本号。版本号通常采用语义化版本控制的格式,例如 2.0.0。
作用
用于区分项目的不同版本。在项目的开发过程中,可能会有多个版本发布,版本号可以帮助开发者明确使用的是哪个具体版本的项目或依赖项。
例如,对于 Spring Framework 的核心模块,其 Maven 坐标可能是 org.springframework:spring-core:5.3.23,其中 org.springframework 是 groupId,spring-core 是 artifactId,5.3.23 是 version。
通过 Maven 坐标,开发者可以方便地在项目中引入所需的依赖项,并且 Maven 会自动从指定的仓库中下载并管理这些依赖项。
导入Maven项目
方式一:
依赖配置
添加完代码发现依赖并没有生效,需要点击重新加载
Maven特性:依赖传递
可以以图标的形式查看各级依赖
依赖排除
依赖范围Scope
scope 取值范围
默认 compile全部有效
test:仅在测试程序中有效
provided:主程序和测试程序都有效但是不参与项目打包
runtime : 在主程序中有效
Maven生命周期阶段
执行指定生命周期的方法:
在同一套生命周期之中,如果后面的生命周期被执行,那么前面的阶段也会被执行