Windows下载配置Maven全过程(超详细)


前言

  • Maven(发音为“梅文”)是Apache软件基金会开发的一个开源项目管理和构建自动化工具,主要用于Java项目
  • 通过标准化项目结构和自动化常见任务,帮助开发者高效管理软件开发的生命周期

一、Maven 概述

1. 介绍

  • Maven是一个基于项目对象模型(Project Object Model, POM)的工具
  • POM是一个XML文件(通常命名为pom.xml),定义了项目的元数据(如项目名称、版本、依赖关系等)
  • Maven的核心思想是“约定优于配置”,即提供默认的项目结构和构建流程,减少手动设置

2. 功能

2.1 依赖管理

处理项目所需的第三方库(依赖)的自动下载、版本协调和冲突解决

  • 自动下载和管理依赖:通过在pom.xml文件中添加库的坐标(如groupId, artifactId, version),Maven会自动从中央仓库下载所需库文件,并管理其存储(本地仓库)
  • 处理依赖冲突:自动解析不同依赖之间的版本兼容性问题,避免运行时错误(例如,通过依赖传递规则和冲突解决策略)

2.2 项目构建

涵盖代码的编译、测试、打包、文档生成等标准化生命周期过程,以及项目结构的组织

  • 构建自动化:执行标准化的构建生命周期命令(如mvn clean install),一键完成编译代码、运行单元测试、打包应用(生成JAR或WAR文件)等任务
  • 标准化项目结构:强制项目遵循统一目录布局(如src/main/java存放源代码,src/test/java存放测试代码),提高可维护性和工具集成效率
  • 报告和文档生成:自动生成项目报告(如测试覆盖率报告)和文档(如API文档),通过插件扩展功能(如使用Maven Site插件)
  • 多模块管理:支持大型项目拆分为多个子模块(每个模块有自己的pom.xml),便于依赖共享(如父模块管理公共依赖)和构建控制(如整体构建或模块独立构建)

3. 优点

  • 提高效率:自动化构建和依赖管理,减少手动操作,缩短开发周期
  • 依赖管理强大:解决“依赖地狱”问题,确保库版本一致,避免冲突
  • 标准化和一致性:所有项目遵循相同结构,便于新成员上手和跨团队协作
  • 插件生态系统:丰富的插件(如Maven Surefire用于测试)支持扩展功能,适应不同需求
  • 跨平台:基于Java,可在Windows、Linux、macOS等系统运行。
  • 集成友好:与IDE(如Eclipse、IntelliJ IDEA)、持续集成工具(如Jenkins)无缝集成

4. 使用场景

  • Java项目开发:中小型到大型Java应用,包括Web应用(如Spring Boot)、桌面应用等
  • 依赖密集型项目:当项目需要大量第三方库(如Apache Commons或Log4j)时,Maven简化了管理
  • 团队协作环境:确保所有开发者使用相同的构建流程和依赖版本,减少环境差异问题
  • 持续集成/持续部署(CI/CD):在自动化流水线中,Maven命令可集成到构建脚本中,实现一键构建和测试
  • 开源项目:许多开源项目(如Apache项目)使用Maven,便于贡献者快速上手

二、安装步骤

1.地址

下载源网址
Apache Maven 官方https://maven.apache.org/download.cgi
阿里云镜像https://mirrors.aliyun.com/apache/maven/maven-3/
华为云镜像https://mirrors.huaweicloud.com/apache/maven/
清华大学镜像https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/

2.下载

官网下载:有最新的版本,但下载速度可能较慢
镜像网址:如阿里云或华为云,下载速度更快(节省时间)

直接访问对应网址,选择对应版本(如 3.9.8 目录)下载二进制包(通常是 .zip.tar.gz 文件)

链接详情

在这里插入图片描述

3.解压

将文件解压到自己存放Maven的文件夹(建议不含有中文和空格)
在这里插入图片描述

三、配置过程

1.本地仓库

解压之后,进入加压之后的文件夹,新建名为repository的文件夹,作为Maven的本地仓库(后续项目下载的依赖包存放位置)
在这里插入图片描述

2.配置环境变量

2.1 配置Maven环境变量

复制Mavend的解压地址 – > F:\Develop\Maven\apache-maven-3.6.3
在这里插入图片描述
然后配置环境变量,可以按照如下流程(只要能找到系统变量即可):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成后点击确定!

2.2 配置本地仓库环境变量

再次点击新建,添加之前新建的repository文件夹路径

在这里插入图片描述
然后点击确定,下面将上面配好的路径变量配置在path中,如下图所示:
在这里插入图片描述
在这里插入图片描述
配置完成后,一直点击确定就好!

2.3 查看变量是否生效

唤出命令窗口(WIN+R输入cmd或者鼠标右键->在终端打开
在这里插入图片描述
在这里插入图片描述
输入mvn -v
在这里插入图片描述
输出上述信息就是配置成功了!

注意:如果配置之前就打开了命令提示窗口,配置完成后需要关闭重新打开,然后输入命令验证(已打开的窗口会保留加载时的环境变量快照,不会自动同步后续的更改)

3.配置文件

Maven的配置文件 --> settings .xml

在这里插入图片描述

3.1 JDK配置

PS: 在settings.xml配置JDK的意义在于强制 Maven 编译器以 Java 8 标准编译代码并生成兼容 Java 8 的字节码,不受当前 JAVA_HOME 指向的更高版本 JDK 影响,确保项目在 Java 8 环境下的语法合规性和运行兼容性 (JDK 是环境,配置是指令)

如果没有配置JDKMaven会直接使用JAVA_HOME环境变量设置的JDK
如下图:
在这里插入图片描述

但这种方式可能导致版本不一致或构建失败,下面显示指定JDK:
打开settings.xml:

在这里插入图片描述

搜索profiles标签,找到如下内容:

在这里插入图片描述

将下面的内容添加到profiles标签内部:
在这里插入图片描述

     <!-- java版本 --> 
     <profile>
           <id>jdk-1.8</id>
           <activation>
               <activeByDefault>true</activeByDefault>
               <jdk>1.8</jdk>
           </activation><properties>
               <maven.compiler.source>1.8</maven.compiler.source>
               <maven.compiler.target>1.8</maven.compiler.target>
               <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
           </properties>
     </profile>

然后保存退出!

3.2 本地仓库地址配置

本地仓库起的作用相当于一个缓存。Maven在进行依赖管理管理的时候首先会到本地仓库中查找,如果本地仓库中已经有当前依赖;则直接使用,如果没有则会从远程仓库下载到本地仓库中,然后使用。

如果不配置本地仓库路径,Maven下载的依赖默认存放路径为${user.home}/.m2/repository,其中${user.home}代表当前用户的home目录,如C:\Users\fc\.m2
在这里插入图片描述
但是随着时间的累积,.m2/respository中的依赖包会越来越多,这样C盘的负担就会很大,推荐使用新建的repository文件夹作为本地仓库(方便管理)

3.2.1 绝对地址

在这里插入图片描述

F:\Develop\Maven\apache-maven-3.6.3\repository需要替换成自己本地的文件路径

3.2.2 环境变量地址

在这里插入图片描述

${env.M2_HOME}中的M2_HOME也是上面在配置环境变量中所指定的

3.3 远程仓库地址配置

搜索 mirrors标签:
在这里插入图片描述
添加如下镜像信息:
在这里插入图片描述

<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>central</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

mirrorOf表示覆盖的范围: *->所有仓库、central->中央仓库

如果想使用其它代理仓库,可在repositories标签中加入对应的仓库使用地址。以使用spring代理仓为例:
在这里插入图片描述

<repository>
    <id>spring</id>
    <url>https://maven.aliyun.com/repository/spring</url>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>

镜像汇总参考地址:https://wiki.zjq.im/docs/java/cn-maven-mirrors/
阿里云镜像地址: https://developer.aliyun.com/mirror/maven

4.测试

配置完成后,保存文件,退出,然后唤出命令窗口,输入mvn help:system

mvn help:system 是 Apache Maven 的一个内置命令,主要用于显示当前系统的环境信息和 Maven 配置详情。执行该命令后,Maven 会输出系统属性、环境变量、Maven 配置等关键信息。第一次执行可能会下载一些缺省依赖包。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值