Maven在不同操作系统上如何安装?

news2025/1/9 5:06:29

大家好,我是袁庭新。Maven是一个重要的工具,还有很多初学者竟然不知道如何安装Maven?这篇文章将系统介绍如何在Windows、macOS、Linux操作系统上安装Maven。

Maven是一个基于Java的项目管理工具。因此,最基本的要求是在计算机上安装了JDK,JDK的安装这里暂不介绍。

1.Maven软件下载

使用Maven管理工具,我们首先要到官网去下载Maven的安装软件。Maven下载网址http://maven.apache.org/download.cgi,这里我们以Maven 3.8.4为例。

在编写这套教程的时候,目前最新版是apache-maven-3.8.4-bin.zip或apache-maven-3.8.4-bin.tar.gz版本,根据操作系统提前下载好了对应的Maven版本。

2.Maven软件安装

Apache Maven的安装过程很简单,只需解压存档文件(开箱即用),并使用mvn命令将bin文件夹添加到Path环境变量中即可。

在任何目录中提取分发文件(即将Maven解压到合适的位置即可):

unzip apache-maven-3.8.4-bin.zip

或者:

tar xzvf apache-maven-3.8.4-bin.tar.gz

解压文件尽量不要放在含有中文或特殊字符或有空格的目录下(比如解压到H:\software目录下)。Maven安装包解压后目录结构如下: 

解压后得到apache-maven-3.8.4目录,对该目录下的文件解释说明见下:

目录

描述

bin

存放了Maven的命令文件,含有mvn运行的脚本

boot

存放了一些Maven本身的引导程序,如plexus-classworlds类加载器框架,Maven使用该框架加载自己的类库

conf

存放了Maven的一些配置文件,如settings.xml配置文件

lib

存放了Maven本身运行所需的一些jar包文件

3.Maven环境变量配置

将解压Maven的apache-maven-3.8.4目录下的bin目录添加到Path环境变量中。

3.1 Windows配置Maven环境变量

1.打开系统属性(WinKey + Pause),选择【高级】选项卡下的【环境变量】选项,新建一个【MAVEN_HOME】变量名,变量值为Maven的安装目录。

H:\software\apache-maven-3.8.4

2.将MAVEN_HOME添加到Path系统变量中。

%MAVEN_HOME%\bin

3.打开一个新的命令提示符(Winkey + R然后键入cmd)并运行mvn -v以验证Maven是否配置成功。

# 查看Maven工具的版本信息
mvn -v
# 或者使用以下命令也可查看Maven工具的版本信息
mvn -version

3.2 Unix配置Maven环境变量

基于Unix的操作系统(Linux、Solaris和Mac OS X)配置方式相同,下面以Mac OS系统为例进行配置说明。

3.2.1 MAC配置Maven环境变量步骤

1.打开Mac终端,输入以下命令编辑用户主目录下的.bash_profile启动脚本文件(或.zshrc启动脚本文件),具体根据你使用的Shell。使用vim编辑器编辑启动脚本。

vim ~/.bash_profile

注意:如果指定的文件不存在,则输入touch ~/.bash_profile 命令创建新的空白文件,然后再输入上面的命令。

2.打开.bash_profile文件后,按下i键进入到输入模式,在启动脚本下添加如下两行命令。

export MAVEN_HOME=/Users/yuanxin/Documents/ProgramSoftware/apache-maven-3.8.4
export PATH=$MAVEN_HOME/bin:$PATH

3.然后按下esc键退出插入模式,然后再输入:wq命令,敲击回车按键,保存并退出该文件。

4.为了让我们刚刚添加的环境变量生效,使用source命令加载环境变量,使.bash_profile文件生效。

source ~/.bash_profile

5.配置完成后,你可以通过运行以下命令来验证Maven安装是否成功。

yuanxin@yuanxindeMacBook-Pro ~ % mvn -v
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /Users/yuanxin/Documents/ProgramSoftware/apache-maven-3.8.4
Java version: 11.0.12, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home
Default locale: zh_CN_#Hans, platform encoding: UTF-8
OS name: "mac os x", version: "11.4", arch: "x86_64", family: "mac"

6.如果输出结果如下所示,证明Maven配置成功。如果没有,检查路径是否正确,或者版本号名称等。

3.2.2 问题zsh: command not found: mvn解决

如果出现,新打开的终端输入mvn -v指令,报"zsh: command not found: mvn"错,然后重新输入source ~/.bash_profile指令后,又恢复正常的问题。是由于Mac系统的升级,新的环境变量读取方式走的是zsh,所以才会存在以上问题。解决的方法见下。

1.在Mac的终端执行以下命令。

vi ~/.zshrc

2.在.zshrc文件末尾追加以下内容(如果没有该文件则直接创建,并追加以下内容保存即可)。

source ~/.bash_profile

3.最后再次执行.zshrc让配置生效。

source ~/.zshrc
3.2.3 Mac上有3处可以设置环境变量

具体介绍见下表:

文件

描述

/etc/profile

系统全局变量,系统启动即加载该文件的配置(不建议添加)

/etc/bashrc

所有类型的bash shell都会读取该文件的配置

~/.bash_profile

配置用户级环境变量,在系统用户文件夹下创建,当用户登录时,该文件会被执行且仅执行一次

4.总结

最后做一个总结,这是一篇Maven安装指南的教程,主要介绍了在Windows、macOS、Linux系统上安装Maven的步骤。核心步骤总结如下:

  • 下载Maven:从Apache官网下载对应系统的Maven安装包。
  • 解压安装:解压安装包,避免中文或特殊字符路径。
  • 配置环境变量:Windows需设置MAVEN_HOME并添加到Path;Unix系统需编辑.bash_profile或.zshrc文件添加环境变量。
  • 验证安装:通过mvn -v命令验证Maven是否配置成功。

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

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

相关文章

【C语言】_冒泡排序及其优化思路

目录 1. 第一版代码&#xff1a;无忧化版 2. 第二版代码&#xff1a;添加逐趟判断有序的优化版 核心思想&#xff1a;两两相邻的元素进行比较 1. 第一版代码&#xff1a;无忧化版 #include<stdio.h> void bubble_sort(int* arr, int sz) {// 确定趟数: // (对于目标升…

通过gradle发布aar或jar携带sources-jar到maven nexus

找了很久&#xff0c;没有找到满意的。终于找到一个好的办法。 gradle7.x适用。比以前的写法简洁。 发布传统的jar工程 比如okhttp&#xff0c;fastjson等项目&#xff0c;纯java工程。 直接创建新文件publish.gradle: apply plugin: maven-publishProperties properties …

Java SpringBoot使用Apache POI导入导出Excel文件

点击下载《Java SpringBoot使用Apache POI导入导出Excel文件(源代码)》 1. Apache POI 简介 Apache POI 是一个强大的 Java 库&#xff0c;用于处理 Microsoft Office 文档&#xff0c;包括 Excel 文件&#xff08;.xls 和 .xlsx&#xff09;。在 Java Spring Boot 项目中&am…

unity学习14:unity里的C#脚本的几个基本生命周期方法, 脚本次序order等

目录 1 初始的C# 脚本 1.1 初始的C# 脚本 1.2 创建时2个默认的方法 2 常用的几个生命周期方法 2.1 脚本的生命周期 2.1.1 其中FixedUpdate 方法 的时间间隔&#xff0c;是在这设置的 2.2 c#的基本语法别搞混 2.2.1 基本的语法 2.2.2 内置的方法名&#xff0c;要求更严…

网站常用功能模块-鉴权

一&#xff1a;JWT是什么&#xff1f; 常用鉴权方式有很多种&#xff0c;今天主要介绍基于token的鉴权方式JWT&#xff08;Json JSON Web Token&#xff09;。因为这种方式实现起来方便快捷。整体实现逻辑如下 第一次登陆时&#xff0c;前端携带账号和密码请求登录接口。服务…

Tableau数据可视化与仪表盘搭建-数据连接

目录 连接本地文件 课程操作 连接方式&#xff08;实时/数据提取&#xff09; 保存工作簿 筛选器 数据处理 连接数据有三种类型 第一种&#xff0c;连接到本地文件&#xff0c;例如Excel&#xff0c;csv&#xff0c;JSON等 第二种&#xff0c;连接到数据库&#xff0c;例…

AI人工智能大数据技术解锁竞彩足球分析软件准确率的密钥

AI 人工智能大数据技术解锁竞彩足球分析软件准确率的密钥 在信息爆炸的时代&#xff0c;竞彩足球愈发风靡&#xff0c;球迷们不再满足于单纯观赛&#xff0c;更渴望凭借精准预测&#xff0c;投身这场数字与激情交织的博弈。而大数据、人工智能技术催生出的专业软件&#xff0c;…

基于物联网疫苗冷链物流监测系统设计

1. 项目开发背景 随着全球对疫苗运输要求的提高&#xff0c;特别是针对温度敏感型药品&#xff08;如疫苗&#xff09;的冷链管理&#xff0c;如何保证疫苗在运输过程中的温度、湿度、震动等环境因素的稳定性已成为亟需解决的问题。疫苗运输过程中&#xff0c;任何温度或湿度的…

深入浅出Node.js-1(node.js入门)

全新专栏带你快速掌握node.js Node.js入门 html,css,js 30年了 nodejs环境 09年出现 15年 nodejs为我们解决了2个方面的问题&#xff1a; 【锦上添花】让我们前端工程师拥有了后端开发能力&#xff08;开接口&#xff0c;访问数据库&#xff09; - 大公司BFF&#xff08;5…

【线性代数】通俗理解特征向量与特征值

这一块在线性代数中属于重点且较难理解的内容&#xff0c;下面仅个人学习过程中的体会&#xff0c;错误之处欢迎指出&#xff0c;有更简洁易懂的理解方式也欢迎留言学习。 文章目录 概念计算几何直观理解意义 概念 矩阵本身就是一个线性变换&#xff0c;对一个空间中的向量应用…

Java-JVM详解

Java-JVM ①JVM概述 ❶基本介绍 JVM&#xff1a;全称 Java Virtual Machine&#xff0c;一个虚拟计算机&#xff0c;Java 程序的运行环境&#xff08;Java二进制字节码的运行环境&#xff09; 特点&#xff1a; Java 虚拟机基于二进制字节码执行&#xff0c;由一套字节码指…

【网络协议】开放式最短路径优先协议OSPF详解(三)

前言 在第一部分和第二部分&#xff0c;我们了解了OSPF操作背后的概念。在第三部分&#xff0c;我们将讨论多区域OSPF。我们将了解它与单区域OSPF的不同&#xff0c;并探讨其操作背后的各种概念。 【网络协议】开放式最短路径优先协议OSPF详解&#xff08;一&#xff09; 【…

【C语言】_指针与数组

目录 1. 数组名的含义 1.1 数组名与数组首元素的地址的联系 1.3 数组名与首元素地址相异的情况 2. 使用指针访问数组 3. 一维数组传参的本质 3.1 代码示例1&#xff1a;函数体内计算sz&#xff08;sz不作实参传递&#xff09; 3.2 代码示例2&#xff1a;sz作为实参传递 3…

android开发从入门进阶到高级学习资料集合

本文精心整理了Android开发相关的学习资料&#xff0c;涵盖入门、进阶、性能优化、博客、面试和书籍等多个维度&#xff0c;在这里分享给大家&#xff0c;欢迎收藏。 技术社区 开源中国 OSCHINA是国内顶尖的开源技术社区之一&#xff0c;自2008年成立以来&#xff0c;已汇聚超…

腾讯云更改用户为root

最近买了台99元一年的2核的云服务器&#xff0c;方便学习一些java开发中间件&#xff0c;以及部署一些项目。 1.设置root用户密码 sudo passwd root 2.修改配置文件 ll /etc | grep ssh cd /etc/ssh/ ls vim sshd_config 输入/PasswordAuthentication 寻找 输入:set nu 再按下…

联发科MTK6771/MT6771安卓核心板规格参数介绍

MT6771&#xff0c;也被称为Helio P60&#xff0c;是联发科技(MediaTek)推出的一款中央处理器(CPU)芯片&#xff0c;可运行 android9.0 操作系统的 4G AI 安卓智能模块。MT6771芯片采用了12纳米工艺制造&#xff0c;拥有八个ARM Cortex-A73和Cortex-A53核心&#xff0c;主频分别…

Milvus×全诊通:从导诊到智能超声,如何将人效比翻倍

AI与智慧医疗的结合已是未来发展的必然趋势。近年来&#xff0c;国家卫健委推崇智慧医疗和AI技术&#xff0c;如智能导诊、预问诊、辅助诊断等&#xff0c;以提高医疗服务效率和诊断准确性&#xff0c;改善患者就医体验。 全诊通是一家专注于医疗SaaS和人工智能的公司&#xff…

C#使用MVC框架创建WebApi服务接口

第一步,使用VS2019新建MVC-Web API应用程序 创建BridgeApi 第二步,运行将生成默认的示例网页,网页Url为 https://localhost:44361/home/index 右键 项目 添加 WebAPI控制器类 添加 我们可以看到App_Start目录下 有三个文件: BundleConfig.cs代表 捆绑文件的引用 有脚本文件…

跨年烟花C++代码

嘿&#xff0c;朋友们&#xff01;今天来给大家讲讲一段挺有意思的C代码呀&#xff0c;这段代码主要是用来实现一个烟花效果展示的程序哦&#xff0c;下面咱们一点点来看哈。 效果 1. 开头包含的那些头文件 #include <graphics.h> #include <conio.h> #include &…

Unity 2d描边基于SpriteRender,高性能的描边解决方案

目标 以Unity默认渲染管线为例&#xff0c;打造不需要图片内边距&#xff0c;描边平滑&#xff0c;高性能的描边解决方案 前言 在2d游戏中经常需要给2d对象添加描边&#xff0c;来突出强调2d对象 当你去网上查找2d描边shader&#xff0c;移植到项目里面&#xff0c;大概率会…