maven的安装与配置(超详细)

在Java开发中,配置Maven环境有几个重要的原因: 

  1. 依赖管理:Maven 是一个强大的依赖管理工具,它能够帮助开发人员轻松地管理项目所需的各种第三方库和组件。通过在项目的 Maven 配置文件(pom.xml)中定义依赖,开发人员可以简单地指定所需的库和版本号,Maven 将负责下载这些依赖并将它们添加到项目的类路径中。

  2. 构建自动化:Maven 提供了一种标准化的项目构建方式。通过定义项目的结构、依赖和构建步骤,Maven 能够自动化地执行项目的构建过程,包括编译、测试、打包等操作。这样可以大大简化项目的构建和发布流程,提高开发效率。

  3. 项目管理:Maven 通过约定优于配置的原则,定义了标准的项目结构和生命周期,使得项目的管理和维护变得更加规范和易于理解。开发人员可以通过 Maven 快速了解项目的结构和依赖,从而更容易地参与到项目开发中。

  4. 插件生态系统:Maven 拥有丰富的插件生态系统,开发人员可以通过各种插件扩展 Maven 的功能,实现例如代码质量检查、静态分析、部署等各种自动化任务。

总的来说,配置Maven环境可以帮助开发人员更加高效地管理项目依赖、自动化项目构建和发布流程,并且规范化项目的结构和管理方式。

一、安装Maven

maven官网下载地址

Binary是可执行版本,已经编译好可以直接使用。
Source是源代码版本,需要自己编译成可执行软件才可使用。 

tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是同样的,只是压缩格式不同
tar.gz格式的文件比zip文件小很多,用于unix操作系统。
zip格式用于Windows操作系统,但在Windows系统使用WinRar工具一样能够解压缩tar.gz格式 

下载完成后,解压到某一路径下。本文以D:\apache-maven-3.5.0为例,实际配置环境变量时以自己安装的路径为准 

二、配置环境变量

 

然后win+R运行cmd,输入mvn -version,如图所示则配置成功 

三、配置本地仓库 

1.在D:\maven_dep路径下新建repository文件夹(可自定义文件路径,除C盘符),用作maven的本地库。

2.在路径D:\apache-maven-3.5.0\conf下找到settings.xml文件 

 

3.找到节点localRepository,在注释外添加 

 

localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。
当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。
此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。

 

四、配置镜像 

  1. 在settings.xml配置文件中找到mirrors节点
  2. 添加如下配置(注意要添加在<mirrors>和</mirrors>两个标签之间,其它配置同理)

 

<!-- 阿里云仓库 -->
<mirror>
	<id>alimaven</id>
	<mirrorOf>central</mirrorOf>
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

 

因为国外的服务器下载jar包很慢所以我们改为阿里云服务器

虽然mirrors可以配置多个子节点,但是它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror无法连接的时候,才会去找后一个;而我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么把手机ip地址变成了外省

在日常使用中&#xff0c;有时我们可能因为某些原因需要快速切换手机的IP地址&#xff0c;特别是当需要从一个省份切换到另一个省份的IP时。这种需求可能来源于网络访问限制、地理位置相关服务的使用、或者网络安全等方面的考虑。那么&#xff0c;怎么把手机IP地址变成外省呢&a…

Ps 滤镜:蒙尘与划痕

Ps菜单&#xff1a;滤镜/杂色/蒙尘与划痕 Filter/Noise/Dust & Scratch 蒙尘与划痕 Dust & Scratch滤镜可用于修复图像中的小瑕疵、尘埃或划痕&#xff0c;特别适合用于清理扫描的照片或老照片中的损伤&#xff0c;以及其他因拍摄条件不理想或相机传感器上的尘埃所造成…

前端开发指导

前端开发指导 本文介绍了配置前端开发环境需要的软件、配置项等,指导如何开始进行UDM部门前端开发的全流程。本文以Windows系统下在Microsoft Virtual Studio Code中开发为基础。 一、综述 目标:零基础或者新员工依照此文档,能够完成开发环境的搭建及熟悉测试环境的搭建。…

【Java难点】多线程-终极【更新中...】

Java内存模型之JMM 为什么需要JMM 计算机存储结构&#xff1a;从本地磁盘到主存到CPU缓存&#xff0c;也就是从硬盘到内存&#xff0c;到CPU。一般对应的程序的操作就是从数据库查数据到内存然后到CPU进行计算。 CPU和物理主内存的速度不一致&#xff0c;所以设置多级缓存&am…

SinoDB数据库出现长事务的解决方法

SinoDB数据库出现长事务的具体现象&#xff1a;   长事务会引发逻辑日志耗尽&#xff0c;导致数据库进入叫做“长事务阻塞Blocked:LONGTX”的状态中&#xff0c;数据库服务响应停止。这时候&#xff0c;数据库状态通过onstat – 命令通常有如下提示&#xff1a; Sinoregal Si…

DSP ARM FPGA 实验箱_音频处理_滤波操作教程:3-9 音频信号的滤波实验

一、实验目的 掌握Matlab辅助设计滤波器系数的方法&#xff0c;并实现音频混噪及IIR滤波器滤除&#xff0c;并在LCD上显示音频信号的FFT计算结果。 二、实验原理 音频接口采用的是24.576MHz&#xff08;读兆赫兹&#xff09;晶振&#xff0c;实验板上共有3个音频端口&#x…

计算机视觉:三维重建技术

书籍&#xff1a;Computer Vision&#xff1a;Three-dimensional Reconstruction Techniques 作者&#xff1a;Andrea Fusiello 出版&#xff1a;Springer 书籍下载-《计算机视觉&#xff1a;三维重建技术》​本书探讨了用于通过图像确定实体物体的几何属性的理论和计算技术…

将来会是Python、Java、Golang三足鼎立吗?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「 Java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 软件工程里没有银弹&#xff…

Java方法的重载

方法重载 1. 为什么需要方法重载 public class TestMethod{public static void main (String[] args){int a 10;int b 20;int ret add(a,b);System.out.println("ret "ret);double a2 10.5;double b2 20.5;double ret2 add(a2,b2);System.out.println("…

layui select 绑定onchange事件失效

layui select 绑定onchange事件失效 问题背景解决方案 问题背景 在日常工作中&#xff0c;可能会用到页面 freemaker 以及 layui 前端框架&#xff0c;这个时候直接在 select 上面绑定 onchange 事件往往是不生效的&#xff0c;错误的方式 这种方式给 select 绑定的 onchange…

OpenCV学习(一)银行卡号识别

B站教学链接&#xff1a; 银行卡号识别&#xff08;OpenCV-Python&#xff09; 代码&#xff1a;Card_Number_Recognition 1.方法 使用模板匹配的方法来识别银行卡号数字。具体来说&#xff0c;先通过图像预处理将图像中的银行卡号分割出来&#xff0c;再与提供的模板进行…

elementui的table行展开,左侧的icon有的需要有的不需要

百度了一些方法&#xff0c;都不好用&#xff0c;最后还是纯css解决&#xff0c;以下是效果&#xff1a; 代码实现&#xff1a; :deep(.el-table__row:nth-child(1) .el-table__expand-icon){ display: none; }

node pnpm修改默认包的存储路径

pnpm与npm的区别 PNPM和NPM是两个不同的包管理工具。 NPM&#xff08;Node Package Manager&#xff09;是Node.js的官方包管理工具&#xff0c;用于安装、发布和管理Node.js模块。NPM将包安装在项目的node_modules目录中&#xff0c;每个包都有自己的依赖树。 PNPM&#xf…

如何使用 ERNIE 千帆大模型基于 Flask 搭建智能英语能力评测对话网页机器人(详细教程)

ERNIE 千帆大模型 ERNIE-3.5是一款基于深度学习技术构建的高效语言模型&#xff0c;其强大的综合能力使其在中文应用方面表现出色。相较于其他模型&#xff0c;如微软的ChatGPT&#xff0c;ERNIE-3.5不仅综合能力更强&#xff0c;而且在训练与推理效率上也更高。这使得ERNIE-3…

ESP32引脚入门指南(五):从理论到实践(SPI)

ESP32 微控制器因其丰富的外设接口而备受赞誉&#xff0c;其中SPI&#xff08;Serial Peripheral Interface&#xff09;是一种常见的通信协议。本文将深入探讨ESP32的SPI、HSPI&#xff08;High-Speed SPI&#xff09;和VSPI&#xff08;Very High-Speed SPI&#xff09;接口&…

3DGS+3D Tiles融合已成 ,更大的场景,更细腻的效果~

最近国外同行Kieran Farr发布了一个他制作的3D GussianSplatting(高斯泼溅)Google Map 3D Tiles的融合叠加的demo案例&#xff08;如下所示&#xff09;。 准确来说这是一个数据融合的实景场景&#xff0c;该实景场景使用了倾斜三维和3D GussianSplatting两种实景表达技术&…

CSS跳动文字

<div class"loading-mask"><div class"loading-text"><span style"--i:1">加</span><span style"--i:2">载</span><span style"--i:3">中</span><span style"--i:…

JCR一区 | Matlab实现1D-2D-GASF-CNN-GRU-MATT的多通道输入数据分类预测

JCR一区 | Matlab实现1D-2D-GASF-CNN-GRU-MATT的多通道输入数据分类预测 目录 JCR一区 | Matlab实现1D-2D-GASF-CNN-GRU-MATT的多通道输入数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 基本介绍 Matlab实现1D-2D-GASF-CNN-GRU-MATT的多通道输入数据分类预…

uni-app(五):原生插件打包并使用(Android)

原生插件打包并使用 解决Gradle不显示命令问题解决方法 运行打包查看打包好的包引入到uni-app项目中编写配置文件TestModuleTestComponent 制作基座并运行 解决Gradle不显示命令问题 解决方法 运行打包 查看打包好的包 引入到uni-app项目中 编写配置文件 TestModule {"n…

【操作系统期末速成】​操作系统概述(定义|功能|特征)|发展阶段和分类|结构设计|概念补充

&#x1f3a5; 个人主页&#xff1a;深鱼~&#x1f525;收录专栏&#xff1a;操作系统&#x1f304;欢迎 &#x1f44d;点赞✍评论⭐收藏 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到…