Maven

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生命周期阶段

执行指定生命周期的方法:

在同一套生命周期之中,如果后面的生命周期被执行,那么前面的阶段也会被执行

相关推荐
cyforkk28 分钟前
12、Java 基础硬核复习:集合框架(数据容器)的核心逻辑与面试考点
java·开发语言·面试
身如柳絮随风扬5 小时前
Java中的CAS机制详解
java·开发语言
风筝在晴天搁浅7 小时前
hot100 78.子集
java·算法
故事和你918 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Configure-Handler8 小时前
buildroot System configuration
java·服务器·数据库
:Concerto9 小时前
JavaSE 注解
java·开发语言·sprint
电商API_180079052479 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
一点程序10 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
C雨后彩虹10 小时前
计算疫情扩散时间
java·数据结构·算法·华为·面试
2601_9498095910 小时前
flutter_for_openharmony家庭相册app实战+我的Tab实现
java·javascript·flutter