当前位置: 首页 > news >正文

[Maven]下载安装、使用与简介

    很多框架的下载使用的流程和思路是差不多的,这里以maven做详细介绍。

下载安装与配置变量

下载

    首先,我们要使用maven,必须先下载它的相关文件。想要下载,我们可以直接搜索maven。找到它的官网。这里不绕弯子,直接给出官网链接。 

    进入官网后,我们的需求是下载。那么我们便在首页中寻找 “下载” 或 "Download" 字段。我们可以看到,maven的下载在这

    找到下载的位置之后,我们还要选择适配自己系统的文件。

 

    这里这么多链接,哪个是我们的需要的呢。我们先看表头,左边表头上面两个表示二进制运行文件,而下面两个是源代码,很显然我们要的不是maven的源码,所以选择上面两个。

      window常用的压缩文件格式后缀为.zip,就可以锁定第一列第二行的下载链接了。

    下载完成之后,我们开一个没有汉字、空格和特殊字符的文件夹,把下载好的zip文件解压到这个文件夹下面:

     repo是我创建的,先不急管这个。解压完成之后,我们就要配置环境变量,让maven的相关文件能够运行。

配置系统环境变量

    在文档管理中右键 "此电脑" ,点击属性,点击高级系统设置,点击环境变量。

    然后我们在下方的系统变量中创建一个名为MAVEN_HOME的环境变量

 

    变量名写MAVEN_HOME,变量值点击浏览目录,选择你刚刚解压出来的maven文件根目录(也就是再下一级就是 bin包、conf包等maven的文件了) ,记得选完之后一直点击确定返回到系统属性页面,才可以点击右上角的 叉号 关闭页面,否则不会保存刚刚配置的变量。

   然后我们打开cmd,输入mvn -v,如果显示了你所安装的maven相关信息,则表示成功。

配置maven相关配置

    环境变量配置好后,我们还需要配置maven的相关配置。找到maven下的conf文件夹的settings.xml文件。

    打开后,我们找到标号为localRepository的注解。里面会有一个 <localRepository>标签,

    将这个标签剪切到注释外面,将里面原本的内容替换为你的本地仓库地址。本地仓库文件夹放在哪里看个人喜欢和项目要求,我喜欢和maven放在一个目录下面。

 

    然后还要配置下载镜像,方便往后使用,因为我们在使用maven时需要下载我们项目需要的jar包,而maven中央仓库是国外的,国内直接下载会很慢,所以配置镜像网站的话会快很多。

    关于maven的镜像下载站国内有很多,这里我们选择阿里云的镜像网站。

    找到标签<mirrors>,在里面添加一个<mirror>元素(注释里面会给出一个模块),这里直接给出代码,将其复制到<mirrors>元素里面即可。

<mirror><id>central</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/central</url>
</mirror>

    这里比较重要的就是url,一定不要输错镜像下载地址的url。

    如果要卸载maven,删除系统变量和相关文件即可。maven不是一个软件,不需要在应用管理里卸载。

IDEA使用maven

1.打开IDEA设置

 

2.打开IDEA的maven设置

 

    在这里

1.主路径修改为你的maven根目录

2.用户设置文件点击重写,然后点击输入框里面右边的那个文件夹小图标 ,选择你maven的settings.xml文件

3.本地仓库则是你创建出来给maven当本地仓库的文件夹

Maven简介

maven的作用

    maven是一个项目管理工具,主要作用是在项目开发阶段对项目进行依赖管理和项目构建,以及管理插件。

    为什么会出现maven这东西?依赖管理还要用得上工具?

    其实也很简单就能想明白。刚学编程时,基本上都是一个类乱塞东西,可能最初的写个猜拳游戏,所有方法一个类就搞完了。再后面写大点,就开始分了几个类,再到正式学项目构建和框架使用,已经开始前后端分离再分包了。我们要使用的依赖接下来会接近指数级增长,比如一个大的项目,一个lib目录下塞所有的jar包,这里就不是几个包了,小的项目几十个jar包,大的项目直接上百都是基本操作,公司自己也会有自己买来或开发的技术,也会打包成jar文件,同时还会分版本,有时候还会版本不一致出错。一个lib下全部放满,就不便于管理和使用了。这是我的理解。

官方语言来讲,有三个不好:

1.造成包的冗余:每个项目需要复制一次这些包,占用大量的空间。

2.不易管理:不同的开发者使用的jar包的版本不同,导致包不统一,甚至出现包的冲突。

3.阅读性差 :  应该导入哪些jar包,这些包又依赖了哪些包并不清楚。

maven依赖管理

    即对jar包的管理,以往我们需要下载好jar包,粘贴到工程的lib目录下面去,使用maven的依赖管理功能,想要引入某个包只需要导入maven的坐标即可,它会通过坐标找到对应的jar包并下载到本地的maven仓库。

如何找到想要的jar包对应的maven坐标?

    首先我们要来到maven的中央仓库,这里直接给出链接。

    在主页面上面的搜索栏搜索你想要的jar包。

    搜索之后会出现这个页面,我们点击黑色标题

 

     Version表示版本号,Usages表示该版本的下载使用量,Date表示该版本的发行日期。

     我们选择使用人数较多的版本,点击对应的Version下的蓝色字体小框

     下方红框框部分便是我们所需要的jar包对应的maven坐标了。

     将光标代码复制,粘贴到我们使用了maven的项目的pom.xml文件里面:

 

     每个项目可以设置多个。实际上我们的jar包全部存在maven的本地仓库下面,我们往后每创建一个项目,只需要在这个pom.xml里写上光标即可。

仓库

    maven的仓库大致分为本地仓库、中央仓库、私有仓库。

本地仓库:相当于本地缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库。第二次不需要从远程仓库去下载,先从本地仓库找,如果找不到才会去远程仓库找。

中央仓库:也就是有在maven官方团队运营维护的元仓库,经过登记的jar包都会在这上面出现。仓库中jar由专业团队统一维护。中央仓库的地址:http://repo1.maven.org/maven2

私有仓库:其实我们的本地仓库和一些公司提供的镜像仓库,都算私有仓库。包括一些公司,也会有自己的仓库,而且会有公司私有的未在maven官方登记开源的jar包。有时候有些保密性强的公司,公司局域网是和外网断开的,这个时候你在公司上班,maven仓库就需要配置为公司的maven仓库。

相关文章:

[Maven]下载安装、使用与简介

很多框架的下载使用的流程和思路是差不多的&#xff0c;这里以maven做详细介绍。 下载安装与配置变量 下载 首先&#xff0c;我们要使用maven&#xff0c;必须先下载它的相关文件。想要下载&#xff0c;我们可以直接搜索maven。找到它的官网。这里不绕弯子&#xff0c;直接给出…...

056 WXML+ WXSS+PHP+LW+校园配送商城微信小程序开发与设计 源码 文档 全套资料

校园配送微信小程序 1.项目描述2. 1.绪论3.项目技术与功能4.界面展示5.源码获取 1.项目描述 摘 要 近几年来&#xff0c;随着互联网和电子商务的快速发展和普及&#xff0c;改变了人们日常消费模式。尤其是移动互联网的相结合&#xff0c;使得人们日常生活中更多的是通过手机移…...

Python 在同一/或不同PPT文档之间复制幻灯片

复制幻灯片可以帮助我们更高效地完成工作&#xff0c;节省大量的制作时间。通过复制现有的幻灯片&#xff0c;可以快速创建新的演示文稿&#xff0c;而无需重新设计板式样式等。此外&#xff0c;复制幻灯片还可以帮助我们保持内容的一致性&#xff0c;使整个PPT演示文稿看起来更…...

C#生成CSR(CertificateSigningRequest)和密钥

使用C#原生生成CSR(CertificateSigningRequest)和密钥。 生成的私钥妥善保存&#xff0c;丢失无法找回。 调用 var contents X509Helper.SigningRequestHelper.CreateSigningRequest("yourdomain.com", ["*.yourdomain.com"], X509Helper.AsymmetricAl…...

Docker 安装 Oracle创建表空间并导入数据库

一、Docker 安装Oracle 1、检查docker 版本 2、docker 下载镜像 3、 docker启动容器 4、 进入容器内部 5、安装成功&#xff0c;使用客户端工具连接 二、创建数据库用户与表空间 1、查询数据库文件位置 2、创建表空间 3、创建用户 4、设置权限 三、导出数据库DMP …...

elementui table子级tree懒加载bug

1. 删除子级刷新列表子级依然显示 2.更新状态子级列表未刷新 3.编辑子级后刷新页面显示状态未变更 el-table 树表格load源码 首先&#xff0c;load可以执行&#xff0c;但是只剩一个子节点就有问题&#xff0c;那么就直接可以定位bug在load方法里&#xff1a; 文件路径&am…...

AI与低代码技术融合:如何加速企业智能化应用开发?

引言 随着全球数字化转型的步伐加快&#xff0c;企业在智能化应用开发方面面临着前所未有的挑战和机遇。传统的软件开发方式往往需要大量的技术人员、时间和资源&#xff0c;而在瞬息万变的市场环境中&#xff0c;这种模式显得效率低下且难以满足企业快速迭代和创新的需求。 与…...

【C#】新建窗体文件,Form、UserControl

从用途、功能性和架构方面进行描述。 1. 继承自 Form 的窗体&#xff08;通常是窗口&#xff09;&#xff1a; 在 C# 中&#xff0c;Form 是用于创建应用程序的主窗口或对话框窗口的类。当您继承自 Form 时&#xff0c;您创建的是一个完整的窗口&#xff0c;可以显示内容、与…...

ansible学习笔记之02command模块与shell模块

目录 1、概述 2、模块介绍 2.1 command模块 2.2 shell模块 2.3 小结 3、实验 3.1 测试ls命令 3.2 测试环境变量 3.3 测试操作符">" 1、概述 本文介绍ansible的command模块与shell模块&#xff0c;并通过实验比对两个模块的异同。 2、模块介绍 2.1…...

在Docker中部署禅道,亲测可用

1、确保centos中已安装docker docker -v 2、启动docker systemctl start docker 3、可设置docker开机启动 systemctl enable docker.service 4、获取最新版禅道开源版镜像 docker pull idoop/zentao 5、运行镜像生成禅道容器【创建 /data/www /data/data 目录】 doc…...

C++(十二)

前言&#xff1a; 本文将进一步讲解C中&#xff0c;条件判断语句以及它是如何运行的以及内部逻辑。 一&#xff0c;if-else,if-else语句。 在if语句中&#xff0c;只能判断两个条件的变量&#xff0c;若想实现判断两个以上条件的变体&#xff0c;就需要使用if-else,if-else语…...

【数学建模】线性规划问题及Matlab求解

问题一 题目&#xff1a; 求解下列线性规划问题 解答&#xff1a; 先将题目中求最大值转化为求最小值&#xff0c;则有 我们就可以得到系数列向量: 我们对问题中所给出的不等式约束进行标准化则得到了 就有不等式约束条件下的变系数矩阵和常系数矩阵分别为&#xff1a; 等式…...

【JavaWeb后端学习笔记】Spring全局异常处理器

在程序运行时&#xff0c;不可避免的会出现异常。在三层开发架构中&#xff0c;当Mapper层出现异常、如果不进行处理会抛给Service层&#xff0c;如果Service层也不处理则会抛给Controller层&#xff0c;通常Controller层有许多接口&#xff0c;如果对每个接口单独处理异常&…...

PT8M2102 触控型 8Bit MCU

1 产品概述 ● PT8M2102 是一款基于 RISC 内核的8位 MTP 单片机&#xff0c;内部集成了电容式触摸感应模块、TIMER&#xff0c;PWM、LVR、LVD、WDT等外设&#xff0c;其主要用作触摸按键开关&#xff0c;广泛适用于触控调光、电子玩具、消费电子、家用电器等领域&#xff0c;具…...

4. React 性能优化技巧:如何让你的应用更快

在构建大型应用时&#xff0c;性能优化是一个非常重要的话题。React 提供了许多优化工具&#xff0c;帮助我们提高应用的渲染速度和响应能力。本文将分享一些常见的 React 性能优化技巧。 4.1. 使用 React.memo 缓存组件 当组件的 props 没有变化时&#xff0c;React 默认不会…...

pytest中使用conftest做测试前置和参数化

pytest中比较高阶的应用是&#xff0c;使用conftest去做测试前置工作、测试收尾工作和参数化。conftest是pytest的一个组件&#xff0c;用于配置测试环境和参数。通过conftest, 可以创建一个可复用的测试配置文件&#xff0c;以便在多个测试模块之间共享配置信息。即&#xff0…...

Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务&#xff1b;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污…...

MATLAB 建筑顶面面积计算(95)

MATLAB 建筑顶面面积计算(95) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 根据给出的建筑顶面点云,计算建筑面积,具体的方法实现和结果如下: 二、算法实现 1.代码 代码如下(示例): % 从 PLY 文件读取点云数据 filename = D:\shuju\屋顶2.ply; % 替换为你的…...

Linux网络编程之---组播和广播

一.组播 1.概述 单播地址标识单个IP 接口&#xff0c;广播地址标识某个子网的所有IP 接口&#xff0c; 多播地址标识一组IP 接口。单播和广播是寻址方案的两个极端(要么单个要么全部)&#xff0c; 多播则意在两者之间提供一种折中方案。多播数据报只应该由对它感兴趣的接口接收…...

Apache Dolphinscheduler可视化 DAG 工作流任务调度系统

Apache Dolphinscheduler 关于 一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系&#xff0c;使调度系统在数据处理流程中开箱即用。 DolphinScheduler 的主要特性如下&#xff1a; 易于部署&#xff0c;提供四种部署方式&am…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...