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

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

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

相关推荐
重整旗鼓~2 分钟前
28.redisson源码分析分布式锁
java·开发语言
Query*3 分钟前
Java 设计模式——工厂模式:从原理到实战的系统指南
java·python·设计模式
懒羊羊不懒@34 分钟前
Java基础语法—最小单位、及注释
java·c语言·开发语言·数据结构·学习·算法
ss27337 分钟前
手写Spring第4弹: Spring框架进化论:15年技术变迁:从XML配置到响应式编程的演进之路
xml·java·开发语言·后端·spring
DokiDoki之父1 小时前
MyBatis—增删查改操作
java·spring boot·mybatis
兩尛1 小时前
Spring面试
java·spring·面试
Java中文社群1 小时前
服务器被攻击!原因竟然是他?真没想到...
java·后端
Full Stack Developme1 小时前
java.nio 包详解
java·python·nio
零千叶2 小时前
【面试】Java JVM 调优面试手册
java·开发语言·jvm
代码充电宝2 小时前
LeetCode 算法题【简单】290. 单词规律
java·算法·leetcode·职场和发展·哈希表