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包管理)

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

希望本文能够帮助到你😊

相关推荐
代码什么用7 小时前
Spring基础使用
java·后端·spring
Su米苏8 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园8 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁8 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网8 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西9 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨9 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
小卡车5559 小时前
java反射、自定义注解的应用(自定义分页)
java
BLUcoding10 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
yuniko-n10 小时前
【JUC】Lock 和 synchronzied 锁
java