Maven 基础环境搭建与配置(一)

news2025/2/27 0:32:28

一、Maven 初印象

在 Java 开发的广袤天地里,Maven 就像是一位神通广大的 “大管家”,为开发者们排忧解难,让项目管理与构建变得轻松高效。它是一个强大的项目管理和构建自动化工具,基于项目对象模型(POM)的概念,通过简单的配置文件(pom.xml)就能对项目的依赖管理、构建过程、测试以及部署等环节进行全方位的掌控。

想象一下,在一个大型 Java 项目中,可能会涉及到成百上千个依赖库,手动管理这些依赖不仅繁琐,还容易出现版本冲突等问题。而 Maven 的依赖管理功能就如同一个智能的 “快递员”,只需要在 pom.xml 文件中声明所需的依赖,它就能自动下载并管理这些依赖,确保项目在不同环境下都能稳定运行。同时,Maven 还统一了项目的目录结构,使得不同的 Java 项目具有一致的布局,方便团队成员之间的协作与维护。例如,它规定源代码应放在 src/main/java 目录下,测试代码放在 src/test/java 目录下,这种标准化的结构让开发者能够快速熟悉和上手新的项目。

不仅如此,Maven 还提供了丰富的插件生态系统,通过这些插件,可以轻松实现代码编译、测试运行、项目打包、生成文档等各种功能,极大地提高了开发效率。在接下来的内容中,我们就一起揭开 Maven 的神秘面纱,学习如何搭建和配置 Maven 的基础环境,让它成为我们 Java 开发道路上的得力助手。

二、下载 Maven,开启旅程

在对 Maven 有了初步的认识后,接下来就进入到实际的操作环节 —— 下载 Maven。Maven 的官方下载地址为:https://maven.apache.org/download.cgi 。在这个页面中,你会看到 Maven 提供了多种版本的下载选项,以及针对不同操作系统的安装包格式。

(一)Windows 系统下载

对于 Windows 系统的用户,推荐下载 Binary zip archive 格式的文件,也就是以.zip 为后缀的二进制压缩包。这种格式的文件下载后,直接解压即可使用,非常方便。在下载时,你可以根据自己的需求选择合适的版本,一般来说,最新的稳定版本能够提供更好的功能和稳定性,建议优先选择。

当你点击下载链接后,选择一个合适的磁盘路径保存文件,等待下载完成。下载完成后,找到下载的压缩包,右键点击,选择 “解压到当前文件夹” 或者使用你常用的解压工具,将其解压到一个你希望安装 Maven 的目录,比如 “D:\Maven\apache - maven - 3.8.6”(这里假设下载的版本是 3.8.6 ,实际版本号请根据你下载的情况进行替换) 。需要注意的是,解压路径尽量不要包含中文和空格,以免在后续的配置和使用过程中出现问题。

(二)Linux 系统下载

Linux 系统下,有两种常见的下载方式。第一种是使用 wget 命令直接在终端中下载,例如:

 

wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz

这里同样要注意将版本号替换为你实际需要下载的版本。如果由于网络等原因,wget 命令无法正常下载,你也可以先在浏览器中访问 Maven 官网下载页面,手动下载文件,然后通过 FTP 工具或者其他文件传输方式,将下载好的文件上传到 Linux 服务器中。

下载的文件格式通常是 Binary tar.gz archive,即.tar.gz 后缀的压缩包。下载完成后,使用以下命令解压:

 

tar -zxvf apache-maven-3.8.6-bin.tar.gz

解压后,你可以将解压后的目录移动到你希望安装的位置,比如 “/usr/local/maven” 。同样,路径的选择要根据你的实际需求和系统环境来决定,确保路径的合法性和可访问性。

三、环境变量配置,关键一步

成功下载并解压 Maven 后,接下来就需要进行环境变量的配置。配置环境变量的目的是让系统能够在任何路径下都能找到并执行 Maven 的相关命令,就如同给系统指明 Maven 的 “藏身之处”,方便随时调用。下面我们分别来看在 Windows 和 Linux 系统中如何进行配置。

(一)Windows 系统环境变量配置

  1. 新建 MAVEN_HOME 变量:在桌面上找到 “此电脑” 图标,右键点击选择 “属性”,在弹出的窗口中点击 “高级系统设置” 。在弹出的 “系统属性” 窗口中,点击 “环境变量” 按钮。在 “系统变量” 区域中,点击 “新建” 按钮,创建一个新的系统变量。变量名填写为 “MAVEN_HOME”,变量值填写为你之前解压 Maven 的目录,例如 “D:\Maven\apache - maven - 3.8.6” 。填写完成后,点击 “确定” 保存。
  1. 在 Path 变量中添加 Maven 的 bin 目录:在 “系统变量” 中找到 “Path” 变量,点击 “编辑” 按钮。在弹出的 “编辑环境变量” 窗口中,点击 “新建”,然后输入 “% MAVEN_HOME%\bin” 。这一步的作用是让系统在执行命令时,能够找到 Maven 的可执行文件。添加完成后,点击 “确定” 保存,然后依次点击 “确定” 关闭所有窗口,完成环境变量的配置。

(二)Linux 系统环境变量配置

  1. 编辑配置文件:打开终端,使用 vim 编辑器编辑系统的环境变量配置文件,一般可以编辑 “/etc/profile” 文件。在终端中输入以下命令:
 

sudo vim /etc/profile

按下 “i” 键进入编辑模式。

2. 添加 Maven 环境变量:在文件的末尾添加以下两行内容,其中 “/usr/local/maven/apache - maven - 3.8.6” 需要替换为你实际解压 Maven 的路径:

 

export MAVEN_HOME=/usr/local/maven/apache-maven-3.8.6

export PATH=${MAVEN_HOME}/bin:$PATH

第一行定义了 MAVEN_HOME 变量,指向 Maven 的安装目录;第二行将 Maven 的 bin 目录添加到系统的 PATH 变量中,这样系统就可以在任何位置执行 Maven 命令。

3. 使配置生效:添加完成后,按下 “Esc” 键退出编辑模式,然后输入 “:wq” 并回车,保存并退出文件。接着,在终端中执行以下命令,使刚刚修改的环境变量配置立即生效:

 

source /etc/profile

(三)验证配置是否成功

无论是 Windows 还是 Linux 系统,配置完成后,都可以通过在命令行中输入以下命令来验证 Maven 环境变量是否配置成功:

 

mvn -v

如果配置成功,会输出 Maven 的版本信息、Maven home 路径、Java 版本等相关信息,类似如下内容:

 

Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)

Maven home: D:\Maven\apache-maven-3.8.6

Java version: 11.0.13, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.13\jre

Default locale: zh_CN, platform encoding: GBK

OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

如果出现 “'mvn' 不是内部或外部命令,也不是可运行的程序或批处理文件” 这样的错误提示,则说明环境变量配置可能存在问题,需要仔细检查配置步骤,确保路径的准确性和完整性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2306617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[算法--前缀和] 一维前缀和

目录 1. 前缀和: 是一种对暴力求解的优化.2. 前缀和? 如何利用前面的计算结果提高效率?3. 如何预处理前缀和数组(如何让处理前缀和数组的复杂度是O(N))?接下来, 我们开启一个新的专题 -> 前缀和, 第一道是模板题, 一维前缀和 1. 前缀和: 是一种对暴力求解的优化. 前缀和…

《零基础学会!如何用 sql+Python 绘制柱状图和折线图,数据可视化一看就懂》

在数据驱动的时代,MySQL 是最常用的关系型数据库管理系统之一,广泛应用于各类数据存储和处理场景。数据分析的过程不仅仅是收集数据,还包括数据的清洗、转换、查询以及最终的报告和可视化。在本文中,我们将通过实际案例来介绍如何…

【算法系列】归并排序详解

文章目录 归并排序详解1. 基本原理1.1 分治法策略1.2 归并排序步骤1.3 图解示例 2. 时间复杂度与空间复杂度2.1 时间复杂度2.2 空间复杂度 3. 稳定性4. Java 实现示例5. 归并排序的优点与缺点5.1 优点5.2 缺点 6. 总结 归并排序详解 归并排序(Merge Sort&#xff0…

Vue的项目创建以及项目目录与组合式API

一.创建Vue 1.Vue-CLI:创建Vue的脚手架工具 2.Create-vue:是Vue官方提供的脚手架之一,底层采用官方自主研发的vite,快捷,开发方便。 3.准备工作:系统中需要安装nodejs环境,在该环境中提供npm包管理器 4.创建Vue项目的命令:npm init vuela…

【学习笔记】计算机网络(四)

第4章 网络层 文章目录 第4章 网络层4.1 网络层的几个重要概念4.1.1 网络层提供的两种服务虚电路服务(Virtual Circuit Service)数据报服务(Datagram Service) 4.1.2 网络层的两个层面 4.2 网际协议 IP - IPv44.2.1 虚拟互连网络4…

DeepSeek-R1:通过强化学习激励大语言模型的推理能力

摘要 本文介绍了我们的第一代推理模型,DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是通过大规 模强化学习(RL)训练的模型,在没有使用监督微调(SFT)这个前置步骤的情况下,展示了卓越的推…

洛谷 P8705:[蓝桥杯 2020 省 B1] 填空题之“试题 E :矩阵” ← 卡特兰数

【题目来源】 https://www.luogu.com.cn/problem/P8705 【题目描述】 把 1∼2020 放在 21010 的矩阵里。要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案? 答案很大,你只需要给出方案数除以 2020 的余数即可。 【答案提交】 …

【无标题】网络安全公钥密码体制

第一节 网络安全 概述 一、基本概念 网络安全通信所需要的基本属性“ 机密性;消息完整性;可访问性与可用性;身份认证。 二、网络安全威胁 窃听;插入;假冒;劫持;拒绝服务Dos和分布式拒绝服务…

【含开题报告+文档+PPT+源码】基于SpringBoot的进销存管理系统的设计与实现

开题报告 本文提出并研发了一款基于Spring Boot框架构建的进销存管理系统,该系统集成了全方位的企业运营管理功能,涵盖了用户登录验证、系统公告管理、员工信息与权限管理、物料全流程(采购入库、销售出库、退货处理)控制、部门组…

Linux-SaltStack配置

文章目录 SaltStack配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月24日20点51分 SaltStack配置 SaltStack 中既支持SSH协议也支持我们的一个客户端 #获取公钥(…

事务的4个特性和4个隔离级别

事务的4个特性和4个隔离级别 1. 什么是事务2. 事务的ACID特性2.1 原子性2.2 一致性2.3 持久性2.4 隔离性 3. 事务的创建4. 事务并发时出现的问题4.1 DIRTY READ 脏读4.2 NON - REPEATABLR READ 不可重复读4.3 PHANTOM READ 幻读 5. 事务的隔离级别5.1 READ UNCOMMITTED 读未提交…

对计算机中缓存的理解和使用Redis作为缓存

使用Redis作为缓存缓存例子缓存的引入 Redis缓存的实现 使用Redis作为缓存 缓存 ​什么是缓存,第一次接触这个东西是在考研学习408的时候,计算机组成原理里面学习到Cache缓存,用于降低由于内存和CPU的速度的差异带来的延迟。它是在CPU和内存…

SOME/IP-SD -- 协议英文原文讲解5

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.5 S…

lowagie(itext)老版本手绘PDF,包含页码、水印、图片、复选框、复杂行列合并等。

入口类:exportPdf ​ package xcsy.qms.webapi.service;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.ibm.icu.text.RuleBasedNumberFormat; import com.lowa…

达梦有没有类似oerr的功能

在oracle 23ai的sqlplus中&#xff0c;直接看异常信息说明&#xff1a; 达梦没有此功能&#xff0c;但是可以造一个 cd /home/dmdba cat >err.sql<<eof set echo off set ver off set timing off set lineshow off set feedback off select * from V\$ERR_INFO wher…

实战-网安

面试感受:网安公司前端实习 今天我有幸面试了一家网络安全公司的前端开发实习岗位,整个过程让我受益匪浅,也让我对未来的职业发展有了更清晰的认识。 首先,面试官非常专业且友好,整个面试氛围轻松但不失严谨。面试一开始,面试官简单介绍了公司背景和团队文化,让我对公…

MybatisPlus-扩展功能-枚举处理器

在Mybatis里有一个叫TypeHandler的类型处理器&#xff0c;我们常见的PO当中的这些成员变量的数据类型&#xff0c;它都有对应的处理器&#xff0c;因此它就能自动实现这些Java数据类型与数据库类型的相互转换。 它里面还有一个叫EnumOrdinalTypeHandler的枚举处理器&#xff0…

力扣2454. 下一个更大元素 IV

力扣2454. 下一个更大元素 IV 题目 题目解析及思路 题目要求对于每个数&#xff0c;找到右边比它大的第二个数&#xff0c;并记录在ans数组中 如果是右边第一个大的&#xff0c;就用一个递减栈即可&#xff0c;栈顶元素如果<当前元素则弹出 第二个大数就要利用弹出的栈顶…

unity学习51:所有UI的父物体:canvas画布

目录 1 下载资源 1.1 在window / Asset store下下载一套免费的UI资源 1.2 下载&#xff0c;导入import 1.3 导入后在 project / Asset下面可以看到 2 画布canvas&#xff0c;UI的父物体 2.1 创建canvas 2.1.1 画布的下面是 event system是UI相关的事件系统 2.2 canvas…

Ollama部署与常用命令

Ollama是一款开源工具&#xff0c;其目标是简化大语言模型在本地环境的部署和使用。它支持多种流行的开源大语言模型&#xff0c;如 Llama 2、Qwen2.5等。 通过Ollama&#xff0c;用户无需具备深厚的技术背景&#xff0c;就能在普通的消费级硬件上快速搭建一个强大的语言处理环…