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>标签节点,在这个标签中添加以下配置信息中的任意一个:

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

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

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

相关推荐
佚先森3 分钟前
2024ARM网络验证 支持一键云注入引流弹窗注册机 一键脱壳APP加固搭建程序源码及教程
java·html
大白要努力!4 分钟前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
菜鸟学Python5 分钟前
Python 数据分析核心库大全!
开发语言·python·数据挖掘·数据分析
一个小坑货12 分钟前
Cargo Rust 的包管理器
开发语言·后端·rust
bluebonnet2717 分钟前
【Rust练习】22.HashMap
开发语言·后端·rust
古月居GYH17 分钟前
在C++上实现反射用法
java·开发语言·c++
在下不上天42 分钟前
Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
大数据·开发语言·python
tatasix1 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql