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

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

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

相关推荐
呼啦啦啦啦啦啦啦啦6 小时前
常见的排序算法
java·算法·排序算法
anlogic7 小时前
Java基础 8.18
java·开发语言
练习时长一年7 小时前
AopAutoConfiguration源码阅读
java·spring boot·intellij-idea
源码宝9 小时前
【智慧工地源码】智慧工地云平台系统,涵盖安全、质量、环境、人员和设备五大管理模块,实现实时监控、智能预警和数据分析。
java·大数据·spring cloud·数据分析·源码·智慧工地·云平台
David爱编程9 小时前
面试必问!线程生命周期与状态转换详解
java·后端
LKAI.10 小时前
传统方式部署(RuoYi-Cloud)微服务
java·linux·前端·后端·微服务·node.js·ruoyi
HeyZoeHey10 小时前
Mybatis执行sql流程(一)
java·sql·mybatis
2301_7930868710 小时前
SpringCloud 07 微服务网关
java·spring cloud·微服务
柳贯一(逆流河版)11 小时前
Spring 三级缓存:破解循环依赖的底层密码
java·spring·缓存·bean的循环依赖
该用户已不存在13 小时前
OpenJDK、Temurin、GraalVM...到底该装哪个?
java·后端