【扫盲篇】一文搞懂 Maven 作用和配置

【扫盲篇】一文搞懂 Maven 作用和配置

前言 这篇主要写给想了解 Maven 是什么、怎么用的同学:很多教程只告诉你“把 settings.xml 改成这样、把 pom.xml 贴上去”,但不解释为什么要这么配、配了之后解决什么问题?

最终结果就是:一打开项目 pom.xml 满屏红,四处问“我 Maven 坏了”。

本文会进行最基础的介绍/扫盲,帮助快速上手Maven

适合人群:不太理解依赖和构建、刚接触Maven的同学阅读收益: Maven 到底在帮你做什么(构建 + 依赖管理)本地仓库 / 远程仓库 / 镜像分别是什么,为什么要配在 IDEA 里正确关联 Maven,避免 pom.xml 一直飘红1. 概述Maven 是一个项目构建与依赖管理工具:可以对 Java 项目进行自动化的构建和依赖, 如编译、运行、打包。

比如你要连接数据库、做 Web 接口、文件上传等,需要用到别人的框架(jar 包)。

在使用 Maven 时你不用手动去网上下载 jar、也不用到处复制粘贴到项目里:只需要在 pom.xml 里声明依赖,Maven 就会自动下载,然后项目就能引用。

2. Maven 的作用Maven 的作用可以分为三类:

项目构建:提供标准的,跨平台的自动化构建项目的方式依赖管理:方便快捷的管理项目依赖的资源 (jar 包),避免资源间的版本冲突等问题统一开发结构:提供标准的,统一的项目开发结构,如下图所示 java:业务 Java 源码

resources:配置文件、静态资源等(如 application.yml)

test:测试源码

pom.xml:项目描述文件(依赖、插件、构建参数等都在这里)

在这里插入图片描述3. Maven 配置环境3.1 Maven 的下载官方下载地址:https://maven.apache.org/download.cgi

在这里插入图片描述

将压缩包直接解压到任意目录即可使用(为减少环境问题,尽量避免路径包含中文或空格)。

3.2 Maven 仓库在以后开发的时候,可能会做项目,这些项目的依赖都会从本地仓库去获取 (一般在自己电脑上),如果本地仓库没有, 他就会从远程仓库进行下载,最后放到本地仓库。

因此一般情况下,本地仓库会配置在本机的位置;

远程仓库通常指 Maven Central 等公共仓库。为了加速访问远程仓库,我们一般配置国内的镜像(mirror)(国外直连可能较慢)。

在这里插入图片描述3.3 本地仓库配置修改 Maven 安装包中的 conf/settings. xml 文件,指定本地仓库位置。

在这里插入图片描述 如果不进行配置,默认路径会在 C:\Users\用户名\.m2\repository 下

3.4 远程仓库镜像配置镜像不是“新增一个远程仓库”,而是把你对某个远程仓库的请求重定向到另一个地址(比如阿里云),从而下载更快。

代码语言:javascript复制

aliyunmaven

central

阿里云中央仓库

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

在这里插入图片描述4. 与 IDEA 集成4.1. 在 IDEA 中全局配置 Maven (可选)在欢迎页,点击左侧Customize → 最下面 All settings

如果已经打开项目,点击左上角File → close project即可

在这里插入图片描述左上角搜索Maven,进行配置

别忘记勾选Override,否则无法进行更改

在这里插入图片描述示例:

在这里插入图片描述到这里,点击 Apply ,再点击 OK 即可。

4.2 创建项目在 IDEA 的新建项目中,创建 Maven 项目常见有两种方式(不同版本入口名字略有差异),两者区别如下:

Maven Archetype:Maven 项目模板工具,可以通过选择 Archetype(如 maven-archetype-webapp)自动生成项目骨架(目录结构、示例代码、pom.xml 等)普通 Maven 项目:创建更“干净”的 Maven 工程,通常只生成基础的 pom.xml 与 src 目录,其余结构/依赖按需添加展示效果

Maven Archetype:

在这里插入图片描述Java:

在这里插入图片描述4.3 pom.xml 文件介绍当涉及到使用他人框架的时候,需要导入 jar 包,会使用 pom.xml,在初始的文件中,只会记录项目的基本信息,示例如下。

在这里插入图片描述

而引入的依赖,会存放在 内,每一个依赖都由 包裹,示例如下

代码语言:javascript复制

org.springframework.boot

spring-boot-starter-web

在右侧,可以点击 Maven 的目录,可以使用 Maven 的一些功能,常用的有 clean、

package。

在这里插入图片描述clean:清理缓存(主要是删除项目下的 target 目录)。 clean 本身不会去清理本地仓库,也不是“修复依赖”的命令。

如果你 clean 之后看到 pom.xml 的红色提示慢慢消失,通常是因为 IDEA 触发了 Maven 的重新导入/依赖解析,依赖被重新下载后恢复正常。

package:打包项目,他会按顺序触发其他功能 (validate → compile → test → package),用于部署或分发。

结语到这里,你至少应该能回答三个问题:

pom.xml 是做什么的(声明依赖、插件与构建规则)依赖为什么会下载到本地仓库,以及本地仓库/镜像的意义IDEA 里 Maven 配不好会出现什么现象、应该去哪里改

相关推荐

微软官宣:全球员工总数为21.55万人
mobile28365正规网址

微软官宣:全球员工总数为21.55万人

📅 10-21 👁️ 5261
分米换算厘米
365正规网站是多少

分米换算厘米

📅 07-10 👁️ 9119
嗨粉是什么梗?嗨粉是什么意思?
365正规网站是多少

嗨粉是什么梗?嗨粉是什么意思?

📅 09-12 👁️ 8410