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 分钟前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql
白云如幻7 分钟前
MySQL的分组函数
数据库·mysql
百事老饼干7 分钟前
Java[面试题]-真实面试
java·开发语言·面试
customer0815 分钟前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
荒川之神23 分钟前
ORACLE 闪回技术简介
数据库·oracle
2402_8575893625 分钟前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
HBryce2428 分钟前
缓存-基础概念
java·缓存
一只爱打拳的程序猿43 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
杨荧44 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka