手把手教你maven的安装与配置

一、Maven 是什么二、Maven 的安装1. 下载2. 环境配置

三、Maven 的配置文件1. 本地仓库2. 远程仓库3. 代理服务器4. 服务器认证5. 其他选项6. 配置示例

四、对接IDEA

提起Maven,相信大家并不陌生,对于一些java开发者,可能除了JDK,第二个要学的内容就是Maven了。今天,我们就踏上Maven的学习之路,当然第一篇,依然还是手把手系列,从安装与配置开始。

作者简介:战斧,从事金融IT行业,有着多年一线开发、架构经验;爱好广泛,乐于分享,致力于创作更多高质量内容 本文收录于 Maven专栏 ,有需要者,可直接订阅专栏实时获取更新 高质量专栏 云原生、RabbitMQ、Spring全家桶、 GIT 等仍在更新,欢迎指导 Zookeeper Redis kafka docker netty等诸多框架,以及架构与分布式专题即将上线,敬请期待

一、Maven 是什么

Maven 是一个基于项目对象模型 (POM) 定义项目的构建工具。它可以帮助开发人员管理项目的依赖关系、构建、文档描述信息管理等。通过 Maven,开发人员可以很方便地构建、打包、发布和部署 Java 应用程序。Maven 能够自动从互联网上下载依赖库,并自动部署到本地仓库中。使用 Maven,开发人员无需手动去配置、管理项目的依赖关系,只需要在 POM 文件中声明依赖关系,Maven 就能自动帮助我们管理依赖

二、Maven 的安装

1. 下载

访问 Maven 的官网:https://maven.apache.org/download.cgi,进入下载页面。注意,下载的为二进制压缩文档。

需要注意的是。如果你使用了IDEA,并且想在IDEA中使用Maven,那么推荐根据IDEA的版本来决定使用的Maven版本,其对应关系如下

IDEA 2022 兼容maven 3.8.1及之前的所用版本IDEA 2021 兼容maven 3.8.1及之前的所用版本IDEA 2020 兼容Maven 3.6.3及之前所有版本IDEA 2018 兼容Maven3.6.1及之前所有版本

当然,官网页面打不开的同学,笔者这边也给大家准备了3.9.4版本的包,点击链接即可: 3.9.4版本 。早先3.6.3版本的包也有:3.6.3版本

2. 环境配置

在我们将上述压缩包解压后,形成如下的目录

但是因为这次是压缩包解压,而没有贴心的安装程序,所以我们只能手动去设置一下环境变量了,环境变量的设置也是老套路了,右键”计算机“ 进入属性

按步骤找到环境变量设置选项,点进去

把Maven的bin路径设定到环境变量 Path

然后以mvn --version来查看,能正确输出版本号,就代表我们成功安装了Maven

三、Maven 的配置文件

Maven安装好后自带了一个配置文件 setting.xml ,用于配置Maven的全局选项、仓库等信息。而且,Maven的配置分为全局配置与用户配置,全局配置就是Maven安装路径下的conf/setting.xml,用户配置是指在用户主目录下的.m2 文件夹内。所以需要注意,用户配置会覆盖全局配置,因此在进行用户配置时,要特别注意不要覆盖全局配置的设置

— 我们来分析下,这份配置文件的结构

1. 本地仓库

定义本地仓库的位置,Maven会将下载的依赖项文件保存在该位置。

C:\Users\username\.m2\repository

2. 远程仓库

定义用于查找依赖项的远程仓库,远程仓库可以是中央仓库、私有仓库、镜像仓库,这里我们做一点简单的解释

中央仓库 中央仓库是由 Maven 社区提供的仓库,我们可以说是官方仓库。包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息。中央仓库不需要进行额外的配置私有仓库 是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件,一般由公司内部搭建。镜像仓库 镜像仓库是指在Maven中心仓库之外,由第三方机构或个人自行搭建的仓库,一般情况是完全复制了中心仓库中的内容,并提供了更快的下载速度和更好的稳定性。

aliyunmaven

central

aliyun maven

https://maven.aliyun.com/repository/public

my-repo

your-username

your-password

my-private-repo

my-repo

http://my-repo-url.

true

false

my-repo

http://my-repo-url

my-private-repo

这里有几点需要说明下:

私有仓库建议配置在内,这样可以将其作为一个特定环境的配置,并且在使用时可以更加方便地调用。如果您需要在全局使用私有仓库,也可以将其配置在标签内。如果同时配置中央仓库、镜像仓库和私有仓库,它们使用的优先级从高到底依次为私有仓库 - 镜像仓库 - 中央仓库,也就是说私有仓库是最优先的选择标签用于指定要镜像的仓库ID,设置为 *,表示所有仓库都使用镜像,设置为central代表只有中央仓库使用该镜像。

3. 代理服务器

定义用于访问远程仓库的代理服务器,包括HTTP代理和HTTPS代理等。

proxy1

true

http

proxy.example.com

8080

user

password

*.example.com

4. 服务器认证

定义访问需要认证的远程仓库的用户名和密码。

server1

username

password

5. 其他选项

除了上面的内容,还可以配置其他选项,如超时时间、调试级别等。

30000

debug

默认情况下,Maven的logLevel是INFO级别。通过指定logLevel,可以控制Maven在执行构建时输出日志的详细程度,从而方便调试和排查错误

6. 配置示例

对于大部分同学来说,所用到的包基本都在中央仓库中,因此只需要针对中央仓库设置一个镜像即可,一般常用的就是阿里云镜像,那么整体的文件配置就如下:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

E:\mavenRepo\repository

alimaven

central

aliyun maven

http://maven.aliyun.com/nexus/content/groups/public/

四、对接IDEA

当我们设置完Maven的相关配置,如果是使用Idea的同学,还需要在Idea中进行相关配置。我们设定完以后,就可以在IDEA中进行Maven的相关操作。

注意,此处我们勾选了 Override ,这将使得此处的Maven设置拥有最高优先级,一般保持这个和外层配置一致即可。

查看原文