3.2.Maven-概述-介绍安装

一.介绍:


二.安装:

Maven的安装比较简单,因为他是绿色版的软件,官方给我们提供Maven的安装包就是一个zip压缩包,在进行Maven安装以及配置的时候,主要进行如下4步操作:

第一步:把官方提供的zip包解压,此时Maven的安装就已经完成了;

第二步:配置Maven的本地仓库,在本地电脑上有一个目录,这个目录下就是来存放从中央仓库下载下来的jar包,这个仓库就是本地仓库;

第三步:需要配置阿里云私服,这一步的目的是为了提高jar包的下载速度,因为从中央仓库下载jar包要连接国外的网站,速度较慢,所以要配置阿里云私服来提高下载速度;

第四步:配置环境变量,因为将来想在任意目录下都能够执行Maven的指令,这个时候就需要配置环境变量。

详解如下:

步骤一:解压Maven压缩包

至于Maven压缩包,在我个人的百度网盘中就有,进入我自己的百度网盘->day04-Maven-SpringBootWeb入门->day04-Maven-SpringBootWeb入门->资料->Maven->02.maven安装->第一个压缩包就是Maven压缩包,

对于别人,可以在黑马程序员的公众号中要JaveWeb的资料,里面有Maven压缩包:

如上图,现在把Maven压缩包下载到一个没有中文、不带空格的目录下,比如:

然后右击该压缩包进行解压,结果如下图:

点击第一个解压好的文件,如下图:

如上图,

第一个bin文件夹,存放的是可执行文件,之后会用到Maven中的一些指令,比如进行项目的编译、测试、打包,其实都要执行Maven的指令,运行就是mvn这个指令(就在bin文件夹里);

第三个conf文件夹,存放的是Maven的配置文件,之后要配置Maven的本地仓库和Maven阿里云私服,就需要用到conf文件夹里的settings.xml配置文件中配置;

第四个lib文件夹,存放的是Maven所依赖的jar包资源,因为Maven是基于Jave语言开发。

步骤二:配置本地仓库

配置本地仓库就是来指定一个目录,让这个目录作为Maven的本地仓库,来存储下载的资源(如jar包),

打开Maven的配置文件,就在刚才的conf文件夹里,如下图:

如上图,

右击settings.xml->点击"打开方式",选择一个,我选择idea,因为我要装到idea里,VScode、记事本也可以,不建议用微软浏览器,因为用微软浏览器打开后无法修改settings.xml里的内容(下图中第一个idea文件就是我用idea打开后自动生成的):

往下拉到第53行,找到标签localRepository,这个就是Maven的本地仓库,如下图:

如上图,

此时localRepository标签下的代码被注释了,现在把这行代码复制粘贴出外面来,如下图:

如上图,

然后接下来需要指定Maven的本地仓库的地址,我为了Maven的本地仓库便于管理,我就将其放在Maven解压目录下,新建一个文件夹作为Maven的本地仓库的目录,该文件夹命名为mvn_repo,repo代表repository即仓库,

如下图:

如上图,

也就是说mvn_repo目录下就是Maven的本地仓库,

如下图:

如上图,

复制mvn_repo目录的地址,然后填充到刚才localRepository标签下即可,

如下图:

至此,就完成了第二步即配置Maven的本地仓库,以后连接中央仓库下载jar包就会放在如下图的目录下:

步骤三:配置阿里云私服来加速jar包的下载

仍旧需要在settings.xml配置文件中的<mirrors>标签中配置阿里云私服,

在刚才的settings.xml配置文件中往下拉,找到<mirrors>标签,在第148行,

如下图:

如上图,

在<mirrors>标签里配置阿里云私服的地址,地址如下:

在刚才的压缩包同级目录下也有该地址,如下图:

然后把阿里云私服地址下载到一个文件夹里即可,如下图:

如上图,打开阿里云私服地址.xml,我用的记事本打开,如下图:

代码如下:

<mirror>  <id>alimaven</id>  <name>aliyun maven</name>  <url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>          
</mirror>

然后把上述代码复制到<mirrors>标签里即可,如下图:

至此,就完成了阿里云私服的配置。

步骤四:要想在任意目录下都能执行Maven的指令,那就需要配置环境变量

需要配置一个环境变量为MAVEN_HOME,MAVEN_HOME指的就是maven的解压目录,

并且将MAVEN_HOME目录下的bin目录加入PATH环境变量。

先打开文件夹,把Maven的安装目录复制一下,如下图:

然后右击"此电脑"->"属性"->"高级系统设置"->"环境变量"->在系统变量下"新建"一个系统变量,命名为MAVEN_HOME,MAVEN_HOME指的就是Maven的安装目录,再把Maven的安装目录地址粘贴下来->点击"确定",

(注:如上图,此时MAVEN_HOME目录下就是Maven的安装目录,Maven的安装目录其中包括bin目录)

接下来在Path环境变量中将MAVEN_HOME下的bin目录加入到Path环境变量中,

点击"Path"->"新建"->创建如下图的内容%MAVEN_HOME%\bin,这就代表要将Maven安装目录下的bin目录加入到Path环境变量->点击"确定"->点击"确定"->点击"确定",如下图:

加入到Path环境变量意味着接下来可以在任意目录下都能够去运行Maven指令,

至此,Maven的安装以及配置就全部完成了。


三.验证Maven是否安装且配置完毕:

可以在终端(快捷键win+R)执行如下指令(来查看Maven的版本号):

mvn -v

执行上述指令后如下图:

如上图,可以查看到Maven的版本号,就说明Maven已经安装且配置成功。

注:Maven要想成功运行,是需要依赖JDK的环境,这里的JDK采用的是11版本(如上图),后面的学习当中,无论是web开发,还是项目阶段,都是基于JDK11的,而且JDK11版本也是当前企业项目开发的主流版本,

如果此时没有JDK11,就需要把资料中提供的JDK11进行下载安装,并把环境变量切换到JDK11,

JDK的安装在B站也有教程。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/98774.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka面试精讲 Day 14:集群扩容与数据迁移

【Kafka面试精讲 Day 14】集群扩容与数据迁移 在“Kafka面试精讲”系列的第14天&#xff0c;我们将深入探讨 Kafka 运维中最关键的操作之一&#xff1a;集群扩容与数据迁移。随着业务增长&#xff0c;原始 Kafka 集群可能面临磁盘不足、吞吐瓶颈或节点负载不均等问题&#xff…

字节一面 面经(补充版)

什么是RabbitMQ&#xff0c;特点是什么怎么理解保障消息的一致性String、StringBuffer、StringBuilder解释一下线程安全先操作数据库再删缓存还是先删缓存再操作数据库这种办法能杜绝数据不一致问题吗解释一下AOP介绍Redis的特点&#xff08;Redis比较快&#xff09;Redis为什么…

【MFC】对话框属性:Absolute Align(绝对对齐)

前言 本文介绍对话框属性中的Absolute Align(绝对对齐)&#xff0c;同时给出相关示例便于理解。 目录1 位置2 详解3 示例1 位置 首先介绍一下这个属性在哪里。 在资源视图中双击对话框节点&#xff0c;打开该对话框&#xff1b; 鼠标右键工作区空白处&#xff0c;单击属性&…

【从0开始学习Java | 第17篇】集合(中-Set部分)

文章目录Java集合之Set&#xff1a;无序不重复的元素容器一、Set接口的核心特性二、常用实现类及底层原理1. HashSet&#xff1a;基于哈希表的高效实现2. LinkedHashSet&#xff1a;保留插入顺序的哈希实现3. TreeSet&#xff1a;基于红黑树的排序实现三、实现类对比与选择建议…

玩转Docker | 使用Docker部署dufs文件管理工具

玩转Docker | 使用Docker部署dufs文件管理工具 前言 一、 dufs介绍 Dufs简介 核心特性 📁 静态文件服务 💾 文件夹打包下载 📤 拖拽上传文件/文件夹 ✏️ 文件在线创建、编辑与搜索 ⏳ 断点续传与部分传输 🔐 细粒度访问控制 🔒 HTTPS 安全传输 🌐 WebDAV 兼容支持…

【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之android 把assert里的dist.zip 包解压到sd卡里

一图胜千言 上一篇有 <!-- 读写外部存储 --> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion"28"/> <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE&qu…

线程的创建.销毁

线程线程的创建在 C 中&#xff0c;线程的创建核心是通过std::thread类实现的&#xff0c;其构造函数需要传入一个可调用对象&#xff08;Callable Object&#xff09;作为线程入口。可调用对象包括普通函数、lambda 表达式、函数对象&#xff08;functor&#xff09;、类的成员…

MySQL基础全面解析

MySQL作为最流行的关系型数据库管理系统之一&#xff0c;是每一位开发者必备的核心技能。本文将系统性地解析MySQL的基础知识&#xff0c;结合关键概念与实战应用&#xff0c;帮助您构建扎实的数据库基础。1. SQL与NoSQL的本质区别SQL&#xff08;结构化查询语言&#xff09;数…

4、幽络源微服务项目实战:后端公共模块创建与引入多租户模块

前言 上节我们将电网巡检系统的前端vue2项目创建、配置&#xff0c;并构建了最基础的多租户界面&#xff0c;本节来继续构建后端的公共模块、多租户模块&#xff0c;并将公共模块引入到多租户模块中。 创建公共模块和多租户模块 在back父工程下创建两个Module&#xff0c;和…

STM32学习路线开启篇:芯片简介与课程简介

编写不易,请多多指教,觉得不错可以关注一下,相互学习 前言 一、课程配套资源 1、面包板 2、面包板专用的跳线 3、面包板的飞线 4、杜邦线 5、STM32F103C8T6最小系统板 6、0.96寸的OLED显示屏模块 7、电位器 8、按钮 9、LED灯 10、STLINK 11、USB转串口(TTL)模块 12、源蜂鸣器模…

图像直方图

图像直方图就是用来统计图像像素值分布的。灰度图分布读取灰度图phone cv2.imread(phone.png, cv2.IMREAD_GRAYSCALE) a phone.ravel() plt.hist(a, bins256) plt.show()如何可以获得当前像素值分布读取各通道的像素值分布img cv2.imread(phone.png) colors (b, g, r) for …

分类别柱状图(Vue3)

效果图&#xff1a;需求&#xff1a;男女年龄段占比<template><div class"go-ClassifyBar01"><v-chartref"vChartRef":option"option"style"width: 100%; height: 800px"></v-chart></div> </templa…

Apache Dubbo学习笔记-使用Dubbo发布、调用服务

Apache Dubbo经常作为一个RPC框架来使用&#xff0c;这篇文章主要介绍使用Dubbo配合注册中心来发布和调用服务。 Apache Dubbo和Spring Boot、JDK的版本对应关系。 Dubbo 分支最新版本JDKSpring Boot组件版本详细说明3.3.x (当前文档)3.3.08, 17, 212.x、3.x详情- 版本变更记录…

Python学习——字典和文件

前面python的学习中我们已经学习了python的函数和列表元组相关的内容&#xff0c;接下来我们来学习剩下的python语法&#xff1a;字典和文件 相关代码已经上传到作者的个人gitee&#xff1a;楼田莉子/Python 学习喜欢请点个赞谢谢 目录 字典 创建字典 查找key 新增/修改元素 …

swiper插件的使用

官方网址&#xff1a;https://www.swiper.com.cn/ 1、点击导航栏&#xff0c;获取Swiper里边的下载Swiper 2、选择要下载的版本【本次案例版本5.4.5】&#xff0c;然后解压缩文件夹&#xff0c;拿到swiper.min.js和swiper.min.css文件&#xff0c;放到项目对应的css文件和js文…

Vue3+JS 组合式 API 实战:从项目痛点到通用 Hook 封装

Vue3 组合式 API 的实战技巧 —— 组合式 API 帮我解决了不少 Options API 难以应对的问题&#xff0c;尤其是在代码复用和复杂组件维护上。一、为什么放弃 Options API&#xff1f;聊聊三年项目里的真实痛点​刚接触 Vue3 时&#xff0c;我曾因 “惯性” 继续用 Options API 写…

把 AI 塞进「电梯按钮」——基于 64 kB 零样本声纹的离线故障预测按钮

标签&#xff1a;零样本声纹、电梯按钮、离线 AI、TinyML、RISC-V、低功耗、GD32V303、故障预警 ---- 1. 背景&#xff1a;为什么按钮要「听声音」&#xff1f; 全国 700 万台电梯&#xff0c;按钮故障率 0.3 %/年&#xff0c;却常出现&#xff1a; • 机械卡滞、触点氧化&…

清华大学联合项目 论文解读 | MoTo赋能双臂机器人:实现零样本移动操作

研究背景 移动操作是机器人领域的核心挑战&#xff0c;它使机器人能够在各种任务和动态日常环境中为人类提供帮助。传统的移动操作方法由于缺乏大规模训练&#xff0c;往往难以在不同任务和环境中实现泛化。而现有操作基础模型虽在固定基座任务中表现出强泛化性&#xff0c;却无…

go webrtc - 2 webrtc重要概念

webrtc是一套音视频传输技术生态&#xff0c;不是一个协议或一个什么东西。3种模式本文基于 SFU 形式阐述&#xff01;重要概念&#xff1a;sfu 服务负责&#xff1a;信令 服务负责&#xff1a;peerConnection&#xff1a;track&#xff1a;房间&#xff1a;虚拟分组概念用户&a…

“下游任务”概念详解:从定义到应用场景

“下游任务”概念详解&#xff1a;从定义到应用场景 一、什么是“下游任务”&#xff1f; 在机器学习&#xff08;尤其是深度学习&#xff09;中&#xff0c;“下游任务”&#xff08;Downstream Task&#xff09;是相对“上游过程”而言的目标任务——可以理解为&#xff1a;我…