Maven安装与环境配置

news/2025/3/22 6:04:53/

首先我们先介绍一些关于Maven的知识,如果着急直接看下面的安装教程。

目录

Maven介绍

 Maven模型

 Maven仓库

Maven安装

下载

 安装步骤


Maven介绍

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(Project Object Model , 简称: POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。官网

Maven的作用:

 Maven模型

  • 项目对象模型 (Project Object Model)
  • 依赖管理模型(Dependency)
  • 构建生命周期/阶段(Build lifecycle & phases)

 1). 构建生命周期/阶段(Build lifecycle & phases)

以上图中蓝色框起来的部分,就是用来完成标准化构建流程 。当我们需要编译,Maven提供了一个编译插件供我们使用;当我们需要打包,Maven就提供了一个打包插件供我们使用等。 

2). 项目对象模型 (Project Object Model)

以上图中紫色框起来的部分属于项目对象模型,就是将我们自己的项目抽象成一个对象模型,有自己专属的坐标,如下图所示是一个Maven项目:

坐标,就是资源(jar包)的唯一标识,通过坐标可以定位到所需资源(jar包)位置。

坐标的组成部分:

  • groupId: 组织名

  • arfitactId: 模块名

  • Version: 版本号

3). 依赖管理模型(Dependency) 

以上图中紫色框起来的部分属于依赖管理模型,是使用坐标来描述当前项目依赖哪些第三方jar包。 

之前我们项目中需要jar包时,直接就把jar包复制到项目下的lib目录,而现在我们只需要在pom.xml中配置依赖的配置文件即可。 而这个依赖对应的jar包其实就在我们本地电脑上的maven仓库中。

 Maven仓库

仓库:用于存储资源,管理各种jar包[本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(就是jar包)和插件]

Maven仓库分为:

  • 本地仓库:自己计算机上的一个目录(用来存储jar包)

  • 中央仓库:由Maven团队维护的全球唯一的。仓库地址:https://repo1.maven.org/maven2/

  • 远程仓库(私服):一般由公司团队搭建的私有仓库

当项目中使用坐标引入对应依赖jar包后,

  1. 首先会查找本地仓库中是否有对应的jar包

  • 如果有,则在项目直接引用
  • 如果没有,则去中央仓库中下载对应的jar包到本地仓库
  1. 如果还可以搭建远程仓库(私服),将来jar包的查找顺序则变为: 本地仓库 --> 远程仓库--> 中央仓库

这里需要强调的是,因为中央仓库有很多人使用和其他原因下载新的依赖或jar包是非常缓慢,而私服(比如一个公司已经创建的)的已经从中央仓库下好了,并且使用的人不多,下载会比较快。所以在下面我们会使用一下阿里云的私服。

Maven安装

下载

下载地址根据自己的系统选择适合的版本下载,下面是网盘安装包。

通过网盘分享的文件:apache-maven-3.9.9.zip
链接: https://pan.baidu.com/s/1p1eDwSg2KZcdPLnJVYf0FA?pwd=mtti 提取码: mtti 
--来自百度网盘超级会员v4的分享

 安装步骤

Maven安装配置步骤:

  1. 解压安装

  2. 配置仓库

  3. 配置阿里云私服

  4. 配置Maven环境变量

 1). 解压 apache-maven-3.9.4-bin.zip

建议解压到没有中文、特殊字符的路径下。

  • bin目录 : 存放的是可执行命令。(mvn 命令重点关注)

  • conf目录 :存放Maven的配置文件。(settings.xml配置文件后期需要修改)

  • lib目录 :存放Maven依赖的jar包。(Maven也是使用java开发的,所以它也依赖其他的jar包)

2). 配置本地仓库 

在解压的文件中新建一个目录(本地仓库,用来存储jar包)

这里我创建的是mvn_repo目录

进入mvn_repo目录,复制该目录地址,如:D:\Maven\apache-maven-3.9.9\mvn_repo

进入到conf目录下修改settings.xml配置文件(使用vscode或其他能显示注释的方式打开),

 定义到五十多行的本地存储库(localRepository),默认的本地仓库存储在C盘不好,改成我们自定义的本地仓库,在该注释后加入下列语句,将中间的位置改成你刚复制的本地仓库位置

<localRepository>D:\Maven\apache-maven-3.9.9\mvn_repo</localRepository>

如下:

3). 配置阿里云私服 

由于中央仓库在国外,所以下载jar包速度可能比较慢,而阿里公司提供了一个远程仓库,里面基本也都有开源项目的jar包。

<mirrors>标签下为其添加子标签<mirror>

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>aliyunmaven</name><url>https://maven.aliyun.com/repository/public</url></mirror>

如下: 

保存退出。 

4). 配置环境变量

Maven环境变量的配置类似于JDK环境变量配置一样

在系统变量处新建一个变量MAVEN_HOME。 MAVEN_HOME环境变量的值,设置为maven的解压安装目录

在Path中进行配置。 PATH环境变量的值,设置为:

 %MAVEN_HOME%\bin

打开DOS命令提示符进行验证,出现如图所示表示安装成功 。

mvn -v


http://www.ppmy.cn/news/1581072.html

相关文章

idea问题(三)pom文件显示删除线

一、问题 1、现象 2、原因 分析原因和出现的流程&#xff1a;创建子模块的时候因为名称错误了&#xff0c;并且通过修改模块模块名称后&#xff0c;又删除了模块&#xff0c;因删除不干净。再次建立了同名模块&#xff0c;会让IDEA认为你再次新建的项目是已经被删除的项目。 …

Cursor安装注册+基础配置+入门实操

一、安装注册 官网地址&#xff1a;https://www.cursor.com/ 下载按钮会根据电脑系统来匹配&#xff0c;点击对应「Download」按钮进行下载。完成后&#xff0c;按步骤安装即可。 安装完成后&#xff0c;即可点击图标打开软件。 基础设置完成后&#xff0c;就需要选择注册账号…

NVIDIA Isaac GR00T N1:世界首个开源通用人形机器人基础模型

NVIDIA Isaac GR00T N1&#xff1a;世界首个开源通用人形机器人基础模型 NVIDIA最近发布了一个重磅开源项目——Isaac GR00T N1&#xff0c;这是世界上第一个开源的通用人形机器人推理和技能基础模型。本文将详细介绍这个革命性项目的背景、架构、部署方法以及使用流程&#x…

如何通过iPaaS集成平台快速配置协议接口

在数字化转型的浪潮中&#xff0c;企业对于高效的数据整合和流程协同的需求愈发迫切。传统数据集成方式因开发周期长、维护成本高、扩展性差等问题&#xff0c;逐渐难以满足企业快速发展的需求。此时&#xff0c;iPaaS&#xff08;Integration Platform as a Service&#xff0…

C# 语法糖

三元运算符 &#xff1f;&#xff1a; 使用前 int value -2; if (value < 0) {value 0; } else {value 1; } 使用后 int value -2; value value < 0 ? 0 : 1; Null 合并操作符 &#xff1f;&#xff1f; 使用前 string value GetString(); if (value null…

在使用mybatis时遇到枚举的相关问题和解决

目录 1.前言 2.问题解决 2.1 在父依赖中添加版本管理 2.2 微服务中引入依赖 2.3 在application.yaml中进行配置 2.4 在枚举中添加注解 1.前言 今天在使用mybatis的时候&#xff0c;如下SQL查询遇到了报错(其中status为枚举类型&#xff0c;数据库中存的为整形)&#xf…

Compose 实践与探索十五 —— 自定义触摸

1、自定义触摸与一维滑动监测 之前我们在讲 Modifier 时讲过如下与手势检测相关的 Modifier&#xff1a; Modifier.clickable { } Modifier.combinedClickable { } Modifier.pointerInput {detectTapGestures { } }这里对以上内容就不再赘述了&#xff0c;直接去讲解更复杂的…

Linux--软硬链接、动静态库

一、深刻理解软硬链接 在Linux中&#xff0c;链接是一种将文件或者目录连接到其他位置的方法&#xff0c;分为硬链接和软链接。 硬链接&#xff1a;硬链接是通过在文件系统中创建一个新的文件&#xff0c;该文件与原文件共享相同的 inode&#xff08;索引节点&#xff09;。in…