当前位置: 首页 > news >正文

Mac安装配置maven

文章目录

  • 前言
  • 一、Maven介绍
  • 二、下载
  • 三、安装
  • 四、配置环境变量
  • 五、验证
  • 六、maven配置
      • 配置本地仓库
      • 配置远程仓库
  • 七、maven的常用命令
  • 总结


前言

Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。是我们WEB开发过程中必不可少的工具。


一、Maven介绍

Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它使用一个名为POM(Project Object Model,项目对象模型)的XML文件来描述项目的构建过程、依赖关系和其他配置信息。Maven能够使项目构建过程更加标准化,简化项目管理工作。
maven的特点如下:

  • 依赖管理:Maven通过中央仓库来管理项目依赖,自动处理依赖的传递性问题,确保项目构建时依赖的正确性和一致性。

  • 项目信息管理:Maven使用POM文件来描述项目的基本属性,包括项目名称、版本、开发者信息、许可证等。

  • 标准化构建生命周期:Maven定义了一系列的构建生命周期阶段,如clean、compile、test、package和deploy,这些阶段可以被自动化执行。

  • 插件和目标:Maven拥有丰富的插件生态系统,每个插件可以执行特定的任务。插件可以绑定到生命周期的特定阶段,以实现复杂的构建逻辑。

  • 跨平台:Maven可以在多种操作系统上运行,因为它是基于Java开发的。

  • 可扩展性:用户可以编写自定义插件来扩展Maven的功能。

  • 继承和聚合:Maven支持项目继承,允许创建层次结构的项目结构。此外,它还支持多模块项目(聚合)的构建。

Maven是Java开发者常用的工具之一,它帮助开发者从繁琐的项目配置和管理中解放出来,专注于代码开发和业务逻辑实现。

二、下载

访问官网进行下载,官网地址:https://maven.apache.org/download.cgi

点击超链接进行下载,最新版本Maven
在这里插入图片描述
如果下载历史版本的可以点击 Release Notes,往下滑找到自己想下载的版本。
在这里插入图片描述

三、安装

安装maven是有前置条件的,如下:
在这里插入图片描述
最主要的就是要求已经安装了JDK,并且有JDK版本限制。我安装的3.9.6版本的maven,要求JDK8或以上的。如果不知道如何安装JDK可以参考之前的文章。MacOS安装JDK8

下载完成后,双击解压
在这里插入图片描述
解压后,目录如下:
在这里插入图片描述
将文件夹 apache-maven-3.9.6拷贝或移动至系统目录 /usr/local(可以自定义文件夹路径,到时候需要配置环境变量需要用到)

打开终端,输入命令 sudo mv 然后将 downloads 中的 apache-maven-3.9.6 文件夹拖进来
在这里插入图片描述
然后补充后面路径 /usr/local
在这里插入图片描述
完整命令如下:

sudo mv /Users/Zhuanz1/Downloads/apache-maven-3.9.6 /usr/local

输入命令,查看文件夹

cd /usr/local

输入命令 ll 查看,apache-maven-3.9.6
在这里插入图片描述

四、配置环境变量

打开终端,输入命令

sudo vim ~/.bash_profile 

然后按【 i 】键 进入编辑模式
在这里插入图片描述
在结尾添加Maven配置

export MAVEN_HOME=/usr/local/apache-maven-3.9.6 
export PATH=$PATH:$MAVEN_HOME/bin

然后按【 esc 】键 退出编辑模式
在这里插入图片描述
输入【 :wq 】命令保存并退出
在这里插入图片描述
然后输入命令,使环境变量立即生效

source ~/.bash_profile 

五、验证

输入命令 【mvn -version】
在这里插入图片描述
至此maven安装配置成功

六、maven配置

maven安装成功后,还需要配置本地仓库和远程仓库地址。

配置本地仓库

输入命令打开maven配置文件

sudo vim /usr/local/apache-maven-3.9.6/conf/settings.xml

按【i】进入编辑模式,开始编辑配置文件。找到 localRepository 标签,在注释的下方添加(最好和之前的示例放在一块,不然有可能放错位置,可能解析不了就没法生效了)

<!-- 本地仓库配置  --><localRepository>/Users/maven/repo</localRepository>

在这里插入图片描述

配置远程仓库

配置阿里云远程仓库,镜像源再国内,可以加快下载jar包的速度。

找到 mirrors 标签,先将 原来配置的http://0.0.0.0 给注释了,这个是高版本的maven增加的一个保护机制,如果不注释,那么使用的时候就下载不了jar包。
在这里插入图片描述
然后添加阿里云仓库配置,如下:

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>aliyun</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

最终如下:
在这里插入图片描述
按 【esc】退出编辑模式,输入【:wq】保存并退出,至此maven的基本配置完成。

七、maven的常用命令

  • mvn clean: 清除项目生成的所有文件。

  • mvn compile: 编译项目的源代码。

  • mvn test: 运行项目的单元测试。

  • mvn package: 将编译的代码打包成可分发的格式(如JAR)。

  • mvn install: 将打包的项目安装到本地仓库,供其他项目作为依赖使用。

  • mvn deploy: 将最终的包部署到远程仓库。


总结

本篇文章简单介绍了maven的特点,讲述了maven的下载安装和配置。

相关文章:

  • KDE-Ambari-Metrics-Collector问题排查解决手册
  • 企业防泄密软件有哪些,哪个排名最好
  • 指针数组与数组指针的理解
  • 前端基础:1-2 面向对象 + Promise
  • 4、设计模式之工厂模式
  • C语言常用的内存操作函数
  • 打豆豆game
  • 带你玩转OpenHarmony AI:打造智能语音子系统
  • SpringBoot基础详解
  • 指针变量加1为什么地址加了4?
  • Python01:初入Python(Mac)
  • 【计算机视觉(3)】
  • Docker 安装最新版MongoDB 限制内存 配置权限
  • 电影《朝云暮雨》观后感
  • SW 草图明显显示
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【EOS】Cleos基础
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • js
  • vue学习系列(二)vue-cli
  • 从tcpdump抓包看TCP/IP协议
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 我看到的前端
  • 再谈express与koa的对比
  • 栈实现走出迷宫(C++)
  • gunicorn工作原理
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (02)Unity使用在线AI大模型(调用Python)
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (33)STM32——485实验笔记
  • (70min)字节暑假实习二面(已挂)
  • (day 12)JavaScript学习笔记(数组3)
  • (PADS学习)第二章:原理图绘制 第一部分
  • (笔记自用)LeetCode:快乐数
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (计算机网络)物理层
  • (十)T检验-第一部分
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)人的集合论——移山之道
  • (转)原始图像数据和PDF中的图像数据
  • .net core 6 redis操作类
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET Remoting学习笔记(三)信道
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @component注解的分类
  • @RequestMapping用法详解