Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境

下载

官方网站:http://maven.apache.org/
下载页面:http://maven.apache.org/download.cgi

官网 下载页面

注:本教程使用的是3.3.9版本的maven。

安装

maven安装包下载完成后是一个压缩文件,如下图所示:

我们需要将压缩包解压到一个没有中文,空格或其他特殊字符的文件夹内即可使用:

maven安装目录简介

maven配置-MAVEN_HOME

配置JAVA_HOME

3版本的maven软件依赖1.7或以上版本的JDK,所以安装maven之前需要确认jdk的版本和JAVA_HOME是否正确配置:

注意:JAVA_HOME路径需要设置成bin目录的上一级目录;

配置MAVEN_HOME

按照上面JAVA_HOME的配置方式,将maven的安装目录配置到环境变量中。MAVEN_HOME=maven压缩包解压目录,就是bin的上一级目录。

第一步:新增环境变量:MAVEN_HOME

第二步:在path环境变量中添加:%MAVEN_HOME%\bin

第三步:测试:在cmd控制台中输入命令: mvn -version ;如果出现以下maven的版本信息,则说明maven的安装与环境变量的配置均正确;

说明:出现如上信息说明maven安装和配置环境变量都成功。
 

maven仓库介绍

仓库就是一个目录(文件夹),这个目录被用来存储我们项目的所有依赖(就是jar包)和插件。

仓库包括两类仓库:

1)本地仓库

2)远程仓库

远程仓库又包括两类:

a:中央仓库

b:私服

具体分类如下图所示:

maven本地仓库配置
本地仓库是什么

本地仓库就是本地目录(文件夹),这个目录被用来存储我们项目的所有依赖(就是jar包),本地仓库供你电脑上所有项目使用,maven所有的jar包都是从远程仓库下载到本地仓库.

配置本地仓库

本地仓库的位置是通过maven的核心配置文件(settings.xml)来配置的。settings.xml文件位于maven安装目录:apache-maven-3.3.9\conf\settings.xml 。

打开settings.xml文件:

发现本地仓库默认的地址为当前用户的/.m2/repository目录。

一般情况下,我们需要自己重新设置本地仓库的地址,设置方法如下:

  1. 第一步:在maven的安装目录下创建一个repository文件夹(一般习惯将仓库地址和maven安装目录放置在一起)。

  1. 第二步:在核心配置文件setting.xml中,将仓库存放的位置设置成:D:\MySoft\maven\apache-maven-3.3.9\repository(以自己的安装路径为准);

远程仓库

远程仓库又包括两类:

a:中央仓库

b:私服

中央仓库

中央仓库默认是apache提供的,位于国外。(中央仓库的地址:http://mvnrepository.com/)

配置maven私服

什么是私服

私服是可以架设在局域网的一种特殊的远程仓库,目的是代理中央仓库来部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库(**中央仓库**),将构件下载到私服,再提供给本地仓库下载。

现在使用的私服有阿里云私服(连接外网)等

我们到公司,公司都会有自己的私服。其实私服就是一个服务器。我们的maven项目到私服服务器上去下载jar包到本地仓库供maven项目使用

配置私服

打开settins.xml文件,找到<mirrors>标签节点,在这个标签中添加以下配置信息中的任意一个:

【阿里云私服】--连外网时使用

<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>*</mirrorOf>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

千万注意, 只可配置一个(另一个要注释!) 不然两个可能发生冲突 ,导致jar包下不下来 !!!!!!!

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

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

相关文章

java 数据存储方式

1. 变量存储 这是最基本的数据存储方式&#xff0c;通过声明变量来存储数据。变量可以是基本数据类型&#xff08;如int、float、char等&#xff09;&#xff0c;也可以是引用数据类型&#xff08;如对象、数组等&#xff09;。变量存储的数据通常存储在内存中&#xff0c;随着…

Redis --- 第三讲 --- 通用命令

一、get和set命令 Redis中最核心的两个命令 get 根据key来取value set 把key和value存储进去 redis是按照键值对的方式存储数据的。必须要先进入到redis客户端。 语法 set key value &#xff1a; key和value都是字符串。 对于上述这里的key value 不需要加上引号&#…

【D3.js in Action 3 精译_028】3.4 小节 DIY 实战:使用 Observable 在线绘制 D3 条形图

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可…

关于Fake Location定位,运动世界校园问题

不好意思&#xff0c;之前那个文章其实是很早之前的&#xff0c;不知道为什么审核了很久一直没有通过&#xff0c;然后前几周莫名其妙点了一下重新发布&#xff0c;竟然发布成功了&#xff0c;这个方法已经失效了&#xff0c;要可以稳定&#xff0c;我建议是买一台root的手机&a…

Discord:报错:A fatal Javascript error occured(解决办法)

按 Windows 键 R 并输入 %appdata% 选择 discord 文件夹并将其删除。 再次按 Windows 键 R 并输入 %LocalAppData% 选择 discord 文件夹并再次将其删除。 附加&#xff1a; 如果还不行&#xff0c;就通过官网下载吧&#xff0c;这个问题通过epic下载可能会有

初识算法 · 滑动窗口(1)

目录 前言&#xff1a; 长度最小的子数组 题目解析 算法原理 算法编写 无重复长度的最小字符串 题目解析 算法原理 算法编写 前言&#xff1a; 本文开始&#xff0c;介绍的是滑动窗口算法类型的题目&#xff0c;滑动窗口本质上其实也是双指针&#xff0c;但是呢&#…

算法笔记(七)——哈希表

文章目录 两数之和判定是否互为字符重排存在重复元素存在重复元素 II字母异位词分组 哈希表&#xff1a;一种存储数据的容器&#xff1b; 可以快速查找某个元素&#xff0c;时间复杂度O(1)&#xff1b; 当频繁查找某一个数时&#xff0c;我们可以使用哈希表 创建一个容器&#…

YOLOv4和Darknet实现坑洼检测

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有&#xff1a;中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等&#xff0c;曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝&#xff0c;拥有2篇国家级人工智能发明专利。 社区特色…

插画共享系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;插画信息管理&#xff0c;基础数据管理&#xff0c;论坛管理&#xff0c;公告信息管理&#xff0c;轮播图信息管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;插画信…

【JAVA开源】基于Vue和SpringBoot的服装生产管理系统

本文项目编号 T 066 &#xff0c;文末自助获取源码 \color{red}{T066&#xff0c;文末自助获取源码} T066&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

Vue的基本用法及模板语法

Vue.js使用了基于 HTML 的模板语法&#xff0c;允许开发者声明式地将 DOM 绑定至底层 Vue实例的数据。所有 Vue.js的模板都是合法的 HTML&#xff0c;所以能被遵循规范的浏览器和 HTML 解析器解析。 在底层的实现上&#xff0c;Vue将模板编译成虚拟 DOM 渲染函数。结合响应系…

10.2 Linux_进程_进程相关函数

创建子进程 函数声明如下&#xff1a; pid_t fork(void); 返回值&#xff1a;失败返回-1&#xff0c;成功返回两次&#xff0c;子进程获得0(系统分配)&#xff0c;父进程获得子进程的pid 注意&#xff1a;fork创建子进程&#xff0c;实际上就是将父进程复制一遍作为子进程&…

【基础算法总结】链表篇

目录 一&#xff0c; 链表常用技巧和操作总结二&#xff0c;算法原理和代码实现2.两数相加24.两两交换链表中的节点143.重排链表23.合并k个升序链表25.k个一组翻转链表 三&#xff0c;算法总结 一&#xff0c; 链表常用技巧和操作总结 有关链表的算法题也是一类常见并且经典的题…

STM32-HAL库驱动DHT11温湿度传感器 --2024.9.28

目录 一、教程简介 二、驱动原理讲解 &#xff08;一&#xff09;通信4步骤 &#xff08;二&#xff09;传感器数据解析 三、CubeMX生成底层代码 &#xff08;一&#xff09;基础配置 &#xff08;二&#xff09;配置DHT11的驱动引脚 &#xff08;三&#xff09;配置串口 四…

pytest(三)——参数化@pytest.mark.parametrize

目录 前言 参数化场景 实际Web UI自动化中的开发场景&#xff0c;比如是一个登录框 parametrize单参数 “笛卡尔积”&#xff0c;多个参数化装饰器 重点知识 参考文献 前言 pytest.mark.parametrize 允许在测试函数或类中定义多组参数和fixtures pytest_generate_tests 允…

对于基础汇编的趣味认识

汇编语言 机器指令 机器语言是机器指令的集合 机器指令展开来讲就是一台机器可以正确执行的命令 电子计算机的机器指令是一列二进制数字 &#xff08;计算机将其转变为一列高低电平&#xff0c;使得计算机的电子器件受到驱动&#xff0c;进行运算 寄存器&#xff1a;微处理器…

C(九)while循环 --- 军训匕首操情景

匕首操&#xff0c;oi~oi~oi~~~~~ 接下来的几篇推文&#xff0c;杰哥记录的是三大循环结构的运行流程及其变式。 本篇的主角是while循环。&#x1f449; 目录&#xff1a; while循环 的组成、运行流程及其变式关键字break 和 continue 在while 循环中的作用while 循环的嵌套题目…

C/C++逆向:数据类型识别

在逆向工程中&#xff0c;数据类型识别是理解程序逻辑的重要步骤&#xff0c;因为它直接影响对程序逻辑和功能的理解&#xff0c;识别出数据类型有助于确定变量的含义和函数的行为。在分析恶意软件或者寻找安全漏洞时&#xff0c;识别数据类型能够帮助发现代码中的潜在问题。例…

【越学学糊涂的Linux系统】(5)shell命令以及运行原理|权限问题

Ⅰ.shell命名以及运行原理&#xff1a; 0x00引用&#xff1a; 什么是shell命令&#xff1f;&#xff1f; ✔️ Shell 是一种命令行解释器&#xff08;Command - Line Interpreter&#xff09;&#xff0c;它为用户提供了与操作系统内核进行交互的接口。用户通过在 She…

【Qt】控件概述(3)—— 显示类控件

显示类控件 1. QLabel——标签1.1 setPixmap设置图片1.2 setAlignment设置文本对齐方式1.3 setWordWrap设置自动换行1.4 setIndent设置缩进1.5 setMargin设置边距1.6 body 2. QLCDNumber2.1 使用QTimer实现一个倒计时效果2.2 使用循环的方式实现倒计时 3. QProgressBar——进度…