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

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

希望本文能够帮助到你😊

相关推荐
咩咩啃树皮19 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚19 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
大模型码小白21 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司21 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地1 天前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
wuqingshun3141591 天前
TCP超时重传机制是为了解决什么问题?
java
莫逸风1 天前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope
z123456789861 天前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
yaoxin5211231 天前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
做个文艺程序员1 天前
Linux第24篇:Java应用监控体系搭建:Prometheus+Grafana可视化运维
java·grafana·prometheus