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

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

希望本文能够帮助到你😊

相关推荐
皮皮林5511 小时前
SpringBoot 加载外部 Jar,实现功能按需扩展!
java·spring boot
rocksun1 小时前
认识Embabel:一个使用Java构建AI Agent的框架
java·人工智能
Java中文社群3 小时前
AI实战:一键生成数字人视频!
java·人工智能·后端
王中阳Go3 小时前
从超市收银到航空调度:贪心算法如何破解生活中的最优决策谜题?
java·后端·算法
shepherd1113 小时前
谈谈TransmittableThreadLocal实现原理和在日志收集记录系统上下文实战应用
java·后端·开源
维基框架3 小时前
Spring Boot 项目整合Spring Security 进行身份验证
java·架构
日月星辰Ace4 小时前
Java JVM 垃圾回收器(四):现代垃圾回收器 之 Shenandoah GC
java·jvm
天天摸鱼的java工程师5 小时前
商品详情页 QPS 达 10 万,如何设计缓存架构降低数据库压力?
java·后端·面试
天天摸鱼的java工程师5 小时前
设计一个分布式 ID 生成器,要求全局唯一、趋势递增、支持每秒 10 万次生成,如何实现?
java·后端·面试
阿杆5 小时前
一个看似普通的定时任务,如何优雅地毁掉整台服务器
java·后端·代码规范