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>两个标签之间,其它配置同理)
XML 复制代码
<!-- 阿里云仓库 -->
<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不会这样做!

相关推荐
lkbhua莱克瓦244 分钟前
TCP通信练习4-上传文件名重复问题
java·网络·网络协议·tcp/ip·tcp
INGg__7 分钟前
Java面试现场:从简单到复杂
java·面试·技术
毕设源码-赖学姐9 分钟前
【开题答辩全过程】以 高校图书馆座位预约管理系统为例,包含答辩的问题和答案
java·spring boot
网安_秋刀鱼13 分钟前
【java安全】java安全基础
java·开发语言·安全·web安全
ZePingPingZe37 分钟前
不使用Spring事务的管理—原生JDBC实现事务管理
java·数据库·spring
吃喝不愁霸王餐APP开发者1 小时前
外卖API对接过程中时间戳与时区处理的最佳实践(避免核销失效)
java
抹除不掉的轻狂丶1 小时前
Java 日志框架完整指南:发展历史、核心组成与最佳实践
java·开发语言·python
林涧泣1 小时前
使用Java输出HelloWorld
java·开发语言
叫致寒吧1 小时前
Dockerfile
java·spring cloud·eureka
鸽鸽程序猿2 小时前
【刷题册】三
java·刷题