Maven的安装,环境变量配置及基本使用

2025-10-04 20:06:42

Maven 简介

Maven 是一个项目管理和构建自动化工具,专注于 Java 应用的开发。它通过项目对象模型(POM)来管理项目的构建、报告和文档。Maven 的主要特点包括依赖管理和项目信息管理。

Maven 的核心功能

依赖管理:Maven 能够管理项目中所有 jar 包的版本,确保团队成员和不同的开发环境使用相同版本的 jar 包,从而避免版本不一致导致的问题。

项目构建:Maven 将项目构建过程分解为一系列的阶段,如编译、测试、打包、部署等,每个阶段都可以通过 Maven 命令行工具执行。

跨平台:Maven 可以在多种操作系统上运行,包括 Windows、Linux 和 macOS。

中央仓库:Maven 提供了一个中央仓库,开发者可以从中获取所需的 jar 包,也可以将自己项目的 jar 包上传到中央仓库供他人使用。

插件和目标:Maven 拥有丰富的插件生态系统,每个插件都有一系列的目标(goals),这些目标定义了插件可以执行的任务。

Maven 的安装和环境变量配置

下载Maven

1.从 Apache Maven 官网或者阿里云镜像站下载 Maven 的二进制包。这里建议使用阿里云镜像站(https://mirrors.aliyun.com/apache/maven/maven-3/3.9.5/binaries/?spm=a2c6h.25603864.0.0.3194121eu7SXqa)。

2.压缩包下载成功后解压到指定目录,这里以3.9.5版本为例

3.新建maven仓库

配置环境变量

注意:(由于 Maven 是用 Java 编写的,因此需要先安装 JDK)

1.找到settings.xml文件,使用记事本或VSCode打开

2.找到localRepository,添加maven仓库路径,并复制到注释外使其生效

3.阿里云镜像站链接(https://developer.aliyun.com/mirror/maven?spm=a2c6h.13651102.0.0.7be81b11a1a3vK)

找到mirrors,添加阿里云镜像

4.配置系统环境变量

右击此电脑-->属性-->高级系统设置-->环境变量

(1)新建系统变量,变量值是自己安装maven的根目录

(2)找到path编辑添加如下内容

验证安装

在命令行中输入 mvn -v 来验证 Maven 是否安装成功。出现maven相关版本信息即为安装成功

Maven的基本使用

创建Maven工程

目录结构

src/main/java:存放主程序代码。

src/main/resources:存放配置文件。

src/test/java:存放测试代码。

src/test/resources:存放测试配置文件。

target:构建过程中生成的文件(需要运行代码,产生编译文件,后才会出现)。

生命周期

Maven 的生命周期包括 Clean、Default 和 Site 三个部分,涵盖了从清理到构建、测试、打包、安装和部署的全过程。

Maven 坐标

Maven 使用坐标(groupId, artifactId, version)来唯一标识一个项目或依赖。坐标定义了项目在本地仓库中的存储路径。

pom

配置文件

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

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.shujia

Bigdata32

1.0-SNAPSHOT

pom

//当前工程下的子工程

maven-Demo1

maven-Demo2

maven-Demo3

//properties配置文件

8

8

UTF-8

//添加版本号,方便同一版本,子类中添加依赖时就不需要增加版本号

4.13.2

3.1.2

//添加依赖管理,添加后只有在子工程中用到时才会下载使用

mysql

mysql-connector-java

5.1.49

junit

junit

${junit.version}

org.apache.hadoop

hadoop-common

//使用${×××.version}引用版本号

${hadoop.version}

org.apache.hadoop

hadoop-client

${hadoop.version}

org.apache.hadoop

hadoop-hdfs

${hadoop.version}

redis.clients

jedis

5.1.0

继承关系

1、在同一个pom.xml文件中,若依赖相同只是版本号不同的话,后写的版本会将上面写的版本覆盖掉

2、子工程若出现与父工程依赖相同但是版本不同的现象,子工程保持自己的依赖版本【会将父类依赖版本覆盖】

3、若A工程中导入了B,C两个工程,且B,C两个工程中有相同的依赖只是版本号不同,那么最终使用的依赖版本是取决于谁先写

Maven 依赖管理

依赖范围

compile:默认值,适用于所有环境。

test:仅在测试环境中有效。

provided:在编译和测试时有效,但在运行时由容器提供,不可以被打包