Maven 是什么 ?
Maven是一个强大的项目管理和构建自动化工具,主要用于Java项目的构建、依赖管理和项目生命周期管理。其名称源于意第绪语,意为"知识的积累者"。Maven最初是为了解决Jakarta Turbine项目中的构建复杂性而开发的,旨在提供一种标准化的方式来管理多个Java项目的构建过程。
Apache软件基金会(Apache Software Foundation,简称ASF)成立于1999年,是一个非营利组织,致力于支持开源软件项目。它起源于Apache HTTP Server的开发团队,随着时间的发展,Apache基金会逐渐成为众多开源项目的管理机构。
Apache HTTP Server是ASF最著名的项目之一,它是全球使用最广泛的Web服务器软件。该服务器最初是为了支持快速增长的万维网而开发,采用了基于NCSA HTTPd服务器的补丁和扩展。随着互联网的发展,Apache HTTP Server不断演进,成为一个功能丰富且可靠的Web服务器解决方案。
Welcome! - The Apache HTTP Server Project 这是 Apache的官网,感兴趣的可以去看看。
为什么要使用Maven?
1.方便的依赖管理
Maven能够自动下载和管理项目所需的依赖库,避免了"JAR地狱"的问题。
2.统一项目结构
一旦熟悉了Maven的结构,开发人员可以轻松地理解和使用任何基于Maven的项目。
3.标准的项目构建流程
Maven定义了一系列标准的构建生命周期,包括清理、编译、测试和打包等。每个生命周期由多个阶段组成,开发者可以通过插件在这些阶段中执行特定任务。
Maven模型概述
POM
Maven的核心是项目对象模型 (Project Object Model,POM),它是Maven构建和管理项目的基础。POM以XML格式存在,包含了项目的基本信息、构建配置、依赖管理等内容。
POM的基本结构一个标准的POM文件通常包括以下几个关键元素:
- project:根元素,标识这是一个Maven项目。
- modelVersion:指定POM模型的版本,通常为4.0.0。
- groupId:定义项目所属的组织或公司标识。
- artifactId:项目的唯一标识,通常是项目名称。
- version:项目的版本号,用于区分不同版本的构建。
例如,一个简单的POM文件如下所示:
XML
<project xmlns="http://maven.apache.org/POM/4.0.0"
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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
父POM与继承
Maven支持通过父POM来实现配置的继承。所有Maven项目都可以从一个默认的父POM(Super POM)继承配置,这样可以减少重复配置,提高可维护性。用户可以在自己的POM中定义父POM,以便复用其配置。
仓库介绍
1. 本地仓库
Maven在本地机器上维护一个本地仓库 ,默认位置为用户主目录下的.m2/repository
。当您第一次运行Maven命令时,这个目录会被创建。
- 构建开始 :当您执行Maven构建命令(如
mvn clean install
)时,Maven首先检查本地仓库中是否存在所需的依赖项。- 依赖项查找 :
- 如果依赖项存在于本地仓库,Maven直接使用这些依赖。
- 如果依赖项不存在,Maven会继续查找中央仓库。
2. 中央仓库
如果在本地仓库中未找到所需的依赖项,Maven会访问中央仓库。中央仓库是一个公共存储库,包含了大量常用的Java库和插件。
- 查找依赖项 :Maven会访问中央仓库(默认URL为
https://repo1.maven.org/maven2/
),并尝试下载缺失的依赖项。- 下载与存储:一旦找到所需的依赖项,Maven将其下载并存储到本地仓库,以便下次使用。
3. 远程仓库
在某些情况下,即使在中央仓库中也找不到所需的依赖项。这时,您可以配置远程仓库,这是开发者自定义的存储库,用于存放特定项目或公司内部使用的依赖项。
- 查找远程仓库 :如果在中央仓库中未找到所需依赖项,Maven会检查配置在
pom.xml
中的远程仓库。- 下载与存储:如果在远程仓库中找到所需的依赖项,Maven将其下载并存储到本地仓库。如果仍然找不到,则构建过程将停止,并输出错误信息。
安装配置Maven
1.下载Maven
要安装Maven,您可以访问Apache Maven的官方网站,下载最新版本的压缩包。下载步骤如下:
- 前往Maven官网下载压缩包。
- 选择适合您操作系统的压缩包(如ZIP或TAR.GZ),并下载。
- 解压缩下载的文件到您选择的目录中。
进入官网,我们这里选择最新的3.9.9版本下载,注意 ++Maven 3.9+ 需要 JDK 8 或更高版本才能执行,选择没有中文字符,没有空格的路径。++
接着自己选择合适的路径进行安装即可,我就不演示了。
2.配置本地仓库
Maven使用本地仓库来存储下载的依赖项。找到 settings.xml这个文件,进行本地仓库配置。
"F:\apache-maven-3.9.9-bin\apache-maven-3.9.9\conf\settings.xml" 以我的路径为例。
接着打开这个xml文件, 找到第53行,把这行复制一下拿出来
为了方便管理,我们就在刚才Maven解压下的目录新建一个文件夹作为仓库mav-repo
最后将仓库的路径复制过来,放入<**localRepository>**标签内
3.配置私服仓库
还是在conf\settings.xml找到**<mirrors>**标签,输入下面这段阿里云的私服地址。
XML
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
配置好后进行保存即可。
4.配置环境变量
复制Maven的安装路径,编辑系统环境变量,新建MAVEN_HOME,将 复制的路径放进去,然后点击确定。
接着找到PATH环境变量,将MAVEN_HOME 添加进去 %MAVEN_HOME%\bin ,然后一路点击确定即可,根当初配置Java的环境变量类似。
最后测试一下是否安装成功,打开cmd,输入 mvn -v,说明我们已经配置成功了
Maven 环境配置至此结束!
总结
通过以上步骤,您可以顺利下载并安装Maven。选择合适的压缩包、正确配置环境变量是确保Maven正常工作的关键。完成这些步骤后,您就可以开始使用Maven管理Java项目了。