Maven之初识与安装

目录

[1. 📦Maven 简介](#1. 📦Maven 简介)

[2. 🔧Maven 的作用](#2. 🔧Maven 的作用)

[2.1. 🚀一键构建](#2.1. 🚀一键构建)

[2.2. 📚依赖管理(jar包管理)](#2.2. 📚依赖管理(jar包管理))

[3. ⚙️Maven的安装](#3. ⚙️Maven的安装)

[3.1. 🔗下载](#3.1. 🔗下载)

[3.2. 📥安装](#3.2. 📥安装)

[3.3. 🛠️配置环境变量](#3.3. 🛠️配置环境变量)

[3.4. 🔍查看版本](#3.4. 🔍查看版本)

[4. 📝总结](#4. 📝总结)


前言

作为 Java 开发中管理项目构建与依赖的重要工具,Maven 能大幅提升开发效率。

本文将从基础概念讲起,逐步拆解安装包获取、环境配置到版本验证的完整流程,力求让刚接触的读者也能一次理清逻辑、顺利完成部署

遇到问题可到个人主页(艺杯羹 )交流,一起踩坑避坑~

1. 📦Maven 简介

Maven 是一个项目管理工具。它可以帮助程序员构建工程,管理 jar 包,编译代码,完成测试,项目打包等等。

  • Maven 工具是基于 POM(Project Object Model,项目对象模型)实现的。在 Maven 的管理下每个项目都相当于是一个对象。也有继承关系

  • Maven 标准化了项目的构建。即对项目结构,构建命令等进行了标准化定义。

  • Maven 提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源类库。

  • Maven 是跨平台的,在 Windows、Linux、Mac 上,都可以使用同样的命令。

2. 🔧Maven 的作用

Maven 的两大作用是一键构建和依赖管理

2.1. 🚀一键构建

我们的项目往往都要经历编译、测试、运行、打包、安装 ,部署等一系列过程,这些过程称之为构建。通过 Maven 工具,可以使用简单的命令轻松完成构建工作。

2.2. 📚依赖管理(jar包管理)

依赖管理也可以理解为是jar包的个管理

传统的 Web 项目中,我们必须将工程所依赖的 jar 包复制到工程中,导致了工程的变得很大。如果一个公司具有相同架构的项目有十个,那么就需要将这一份 jar 包复制到十个不同的工程中,非常浪费资源

传统 Web 项目中大部分磁盘空间是被 jar 包占据,而 Maven 项目中一定没有 jar 包,那没有 jar 包的项目是怎么运行的呢?

maven 工程中不直接将 jar 包导入到工程中,而是有一个专门存放 jar 包的仓库,仓库中的每个 jar 包都有自己的坐标。maven 工程中只要配置 jar 包坐标即可,运行项目需要使用 jar 包时,根据坐标即可从 maven 仓库中拿到 jar 包即可运行。

3. ⚙️Maven的安装

安装Maven之前,先安装java

和Tomcat一样

3.1. 🔗下载

进入Download Apache Maven -- Maven即可完成下载

3.2. 📥安装

解压下载好的安装文件,解压后目录结构如下:

目录名称 功能描述
bin 存放 Maven 的命令
boot 存放 Maven 本身的引导程序,如类加载器等 Java 相关的组件
conf 存放 Maven 的配置文件
lib 存放 Maven 本身运行所需的 JAR 包

3.3. 🛠️配置环境变量

由于Maven是由Java语言开发的,运行时依赖Java环境,所以要在计算机的环境变量中配置JAVA_HOME​

一般都配置了JAVA_HOME​。如果没配置那么就自己配置一下

为了更方便的使用Maven命令,需要在环境变量中配置MAVEN_HOME​和Path​

为了找到bin目录下的命令

编辑Path ---> 新建 ---> 输入 %MAVEN_HOME%\bin

3.4. 🔍查看版本

打开CMD命令窗口,输入mvn -v​,显示Maven版本和Java版本,证明安装成功

4. 📝总结

Maven是一个项目管理工具,能够做到一键构建和依赖管理(jar包管理)

安装:在官网下载 --> 配置环境 --> 测试

希望本文能够帮助到你😊

相关推荐
用户908324602734 分钟前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋11 分钟前
DecimalFormat 与 BigDecimal
java·后端
beata25 分钟前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端
IT探险家27 分钟前
你的第一个 Java 程序就翻车?HelloWorld 的 8 个隐藏陷阱
java
随风飘的云29 分钟前
SpringBoot 的自动配置原理
java
SimonKing34 分钟前
觅得又一款轻量级数据库管理工具:GoNavi
java·后端·程序员
Seven972 小时前
BIO详解:解锁阻塞IO的使用方式
java
oak隔壁找我12 小时前
JVM常用调优参数
java·后端
蝎子莱莱爱打怪16 小时前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
狼爷17 小时前
Go 没有 override?别硬套继承!用接口+嵌入,写更清爽的“覆盖”逻辑
java·go