Maven 必备技能:MAC 系统下 JDK和Maven 安装及环境变量配置详细讲解

开发中难免因系统问题或者版本变更反复折腾JDK和Maven环境变量,干脆写个笔记备忘个,也方便小伙伴们节省时间。

=================JDK安装与环境变量配置======

1.官网下载jdk mac安装包: Java Downloads | Oracle

" https://www.oracle.com/java/technologies/downloads/#java8-mac "【jdk8及以下版本需要oracle账号登录才能登录才能下载,如果没有先注册一下】。

默认下载目录: ~/Downloads

2.解压复制到自定义的工作路径:

.dmg格式的安装包,直接下一步下一步一路走完安装就行

最后配置环境变量,便于系统中maven等需要依赖调用jdk的软件能够正确识别调用jdk

3.jdk环境变量配置

3.1 打开配置文件,在最末尾添加jdk环境变量配置,并保存

# 不同命令终端读取的配置文件可能不太一样,这里可以在两个主要配置文件中都写入环境变量,省很多麻烦
open ~/.bash_profile
open ~/.zshrc

写入jdk环境变量配置 

# JDK JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
export CLASS_PATH="$JAVA_HOME/lib"
export PATH=".$PATH:$JAVA_HOME/bin"

MacOS dmg安装无需像linux下解压安装那样建立软链接,直接用命令查看版本和运行java命令测试即可:

java -version
# 只适用于jdk 1.8 及以下版本
# 更高版本中间是两个短线,即
# java --version

3.2 如何找到jdk的绝对目录呢?

有个小技巧,使用macOS自带的Finder补全功能从“/Library/Java/JavaVirtualMachines”按tab键逐层往下找:直到 .../Home, 其他版本配置时候可以参考

================ Maven 环境变量配置 ====================


1、概述
本文主要为在 MAC 苹果系统下安装 Maven 及环境变量配置

Maven 是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

2、Maven 下载

 2.1.官网下载

Maven – Download Apache Maven “https://maven.apache.org/download.cgi”

MacOS默认是存在~/Downloads (中文系统对应:~/下载)目录下,

cd ~/Downloads
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz# 或打开网页链接手动点击下载可执行二进制文件的bin 安装包
tar -xvf apache-maven-3.8.8-bin.tar.gz
# 解压后文件夹为apache-maven-3.8.8

2.2.解压至maven 工作目录(可自行指定)

本人是建立在 ~/Documents/env/maven下

mkdir ~/Documents/env
mkdir ~/Documents/env/maven

3. 复制解压后的maven文件夹到  ~/Documents/env/maven 目录下

cp -rf ~/Downloads/apache-maven-3.8.8 ~/Documents/env/maven/
# 进入目标工作目录 
cd /Users/你的用户名/Documents/env/maven/apache-maven-3.8.8/bin
pwd  # 检查确认当前所在目录
ls # 检查mvn等可执行文件和相关文件是否齐全

3、Maven 环境配置
3.1、Java JDK 依赖
配置 maven 环境变量需要先配置好 JDK 环境
MAC 系统安装 JDK 及环境变量配置

3.2、打开环境变量文件
打开终端窗口,执行如下命令

# 进入当前用户的 home 目录
cd /Users/修改为自己 MAC 电脑用户名称

# 输入

cd ~

# 打开环境变量配置文件

open ~/.bash_profile


 
3.3、配置 maven 环境变量
# 复制如下内容,MAVEN_HOME 替换为自己目录

export MAVEN_HOME=/Users/tony/Documents/env/maven/apache-maven-3.8.8/bin
export PATH=$MAVEN_HOME/bin:$PATH:.


# 配置文件立即生效

source .bash_profile

# 查看 MAVEN_HOME 目录

echo $MAVEN_HOME



3.4、检查环境变量
# 查看 maven 版本信息

mvn -v

Maven环境变量配置其他补充参考:(酌情参考)

1. 下载安装包。

从官网(Maven – Download Apache Maven)下载 Maven 并解压。

选择  apache-maven-3.9.1-bin.tar.gz

2. 配置 Maven 环境变量。

① 打开终端 ,

如果使用的shell 是 bash    输入vim ~/.bash_profile。

如果使用的shell 是 zsh     输入  vim ~/.zshrc

② 输入i进入编辑模式,然后输入 Maven 的环境变量:

export M2_HOME=/Users/arctic.kong/Documents/dev_software/apache-maven-3.8.8
export PATH=$PATH:$M2_HOME/bin

通过echo $JAVA_HOME查看是否配置过 JAVA_HOME ,如果 JAVA_HOME 没有配置,还需要导入 JAVA_HOME 环境变量:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

③ 编辑完后,按esc退出编辑,并输入:wq保存并退出。

④ 输入source ~/.bash_profile   或者   source ~/.zshrc  使环境变量生效。

⑤ 输入mvn -v查看 Maven 否安装成功。

3.  进行setting.xml文件的配置,需要aliyun的镜像文件下载地址和下载依赖文件的仓库位置

打开你下载的Maven:

apache-maven-3.6.1 ➡️ conf ➡️ settings.xml然后进行编辑

3.1  配置私有仓库位置

替换成自己的位置 /Users/arctic.kong/Documents/dev_software/apache-maven-3.8.8/local_repo 

3.2 配置阿里云镜像

<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>

用以下内容替换上面代码
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
 

4、准备工作已经完成,下面就可以去Idea中进行使用了

打开idea的项目后进行setting设置

Maven home path是你下载的maven的路径

User setting file是Maven的setting.xml文件的路径

Local repository是你自己创建的放置依赖文件的仓库(最好创建在和maven同级别下)

注意⚠️:Override的✅一定要勾上要不然没有办法选择

最后点击OK即可使用

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker原理详细剖析-Namespace

一、简介 docker容器技术从2013年开始火了以后&#xff0c;2014年左右当时有幸在学校能和学院教授一起做些项目以及学习。其中docker技术在当时来说还算是比较新的技术&#xff0c;国内关于这块的资料以及使用也才刚刚开始&#xff0c;讨论docker技术&#xff0c;算是相对时髦的…

leetcode 1859.将句子排序

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;将句子排序 代码&#xff1a; class Solution { public:string sortSentence(string s) {vector<string> record;record.resize(9);string curString;for (auto val : s) {if (isdigit(val)) {record[ val - 0 - …

数据挖掘导论学习笔记1(第1 、2章)

参考&#xff1a;https://blog.csdn.net/u013232035/article/details/48281659?spm1001.2014.3001.5506 和《数据挖掘导论》学习笔记&#xff08;第1-2章&#xff09;_时机性样本_schdut的博客-CSDN博客 第1章 绪论 数据挖掘是一种技术&#xff0c;它将传统的数据分析方法…

【权限提升-Windows提权】-UAC提权之MSF模块和UACME项目-DLL劫持-不带引号服务路径-不安全的服务权限

权限提升基础信息 1、具体有哪些权限需要我们了解掌握的&#xff1f; 后台权限&#xff0c;网站权限&#xff0c;数据库权限&#xff0c;接口权限&#xff0c;系统权限&#xff0c;域控权限等 2、以上常见权限获取方法简要归类说明&#xff1f; 后台权限&#xff1a;SQL注入,数…

【LeetCode】297.二叉树的序列化与反序列化

题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化…

04-Apache Directory Studio下载安装(LDAP连接工具)

1、下载 官网下载Apache Directory Studio 注意Apache Directory Studio依赖于jdk&#xff0c;对jdk有环境要求 请下载适配本机的jdk版本的Apache Directory Studio,下图为最新版下载地址 Apache Directory Studio Version 2.0.0-M16 基于 Eclipse 2020-12&#xff0c;最低要…

安防监控/视频汇聚/视频云存储EasyCVR平台v3.3版本AI智能分析网关V3接入教程2.0

TSINGSEE的边缘计算硬件智能分析网关V3内置多种AI算法模型&#xff0c;包括人脸、人体、车辆、车牌、行为分析、烟火、入侵、聚集、安全帽、反光衣等等&#xff0c;可应用在安全生产、通用园区、智慧食安、智慧城管、智慧煤矿等场景中。将网关硬件结合TSINGSEE青犀的视频汇聚/安…

「一体化信息建设」,江苏人社如何完成数据安全管控(建设篇)

2019 年&#xff0c;江苏省人社厅正式启动全省人社一体化信息平台建设项目。省人社一体化信息平台基于全省统一的人社业务标准、规范、流程和数据体系&#xff0c;以群众需求为导向&#xff0c;以省集中建设为重点&#xff0c;以云平台架构为基础&#xff0c;采用人社部 LEAF6.…

百度智能云千帆大模型丨未来人手必备的代码助手

文章目录 1. 前言2. 千帆大模型平台3. 十分友好的功能4. comate代码助手5. 总结 1. 前言 我之前给大家推荐过Poe这个网站&#xff0c;它用的人比较少&#xff0c;但一旦接触后会发现它其实挺强大的。 因为它是一个可以同时支持好几个大模型的在线聚合平台。常用的GPT4&#x…

2.6 PE结构:导出表详细解析

导出表&#xff08;Export Table&#xff09;是Windows可执行文件中的一个结构&#xff0c;记录了可执行文件中某些函数或变量的名称和地址&#xff0c;这些名称和地址可以供其他程序调用或使用。当PE文件执行时Windows装载器将文件装入内存并将导入表中登记的DLL文件一并装入&…

归并排序 Merge Sort

归并排序的基本思想是什么&#xff1f; 采用分治法&#xff08;Divide and Conquer&#xff09;&#xff0c;递归将待排序的数组平均分成两个子数组&#xff0c;直到子数组长度为 0 或 1&#xff0c;这是 分 Divider。再将排序好的两个子数组合并为一个有序数组&#xff0c;这…

WINGREEN 034STN1-01-300-R 传感器模块

WINGREEN 034STN1-01-300-R 是一种传感器模块&#xff0c;通常用于监测和采集各种环境或过程参数的数据。以下是这种类型的传感器模块通常可能具备的一般功能和特点&#xff1a; 传感器接口&#xff1a;模块通常配备用于连接不同类型传感器的接口&#xff0c;如温度传感器、湿度…

Android Jetpack Compose 用计时器demo理解Compose UI 更新的关键-------状态管理(State)

目录 概述1.什么是状态2.什么是单向数据流3.理解Stateless和Stateful4.使用Compose实现一个计数器4.1 实现计数器4.2 增加组件复用性-----状态上提 总结 概述 我们都知道了Compose使用了声明式的开发范式&#xff0c;在这样的范式中&#xff0c;UI的职责更加的单一&#xff0c…

VS2022+CMAKE+OPENCV+QT+PCL安装及环境搭建

VS2022安装&#xff1a; Visual Studio 2022安装教程&#xff08;千字图文详解&#xff09;&#xff0c;手把手带你安装运行VS2022以及背景图设置_vs安装教程_我不是大叔丶的博客-CSDN博客 CMAKE配置&#xff1a; win11下配置vscodecmake_心儿痒痒的博客-CSDN博客 OPENCV配…

java八股文面试[多线程]——虚假唤醒

阻塞队列中&#xff0c;如果需要线程挂起操作&#xff0c;判断有无数据的位置采用的是while循环 &#xff0c;为什么不能换成if 肯定是不能换成if逻辑判断 线程A&#xff0c;线程B&#xff0c;线程E&#xff0c;线程C。 其中ABE生产者&#xff0c;C属于消费者 put阻塞代码&a…

FPGA原理与结构——FIFO IP核的使用与测试

一、前言 本文介绍FIFO Generator v13.2 IP核的具体使用与例化&#xff0c;在学习一个IP核的使用之前&#xff0c;首先需要对于IP核的具体参数和原理有一个基本的了解&#xff0c;具体可以参考&#xff1a; FPGA原理与结构——FIFO IP核原理学习https://blog.csdn.net/apple_5…

springboot web开发静态资源的映射规则

前言 我们之间介绍过SpringBoot自动配置的原理&#xff0c;基本上是如下&#xff1a; xxxxAutoConfiguration&#xff1a;帮我们给容器中自动配置组件&#xff1b; xxxxProperties:配置类来封装配置文件的内容&#xff1b; web开发中都在org.springframework.boot.autoconfig…

kubeadm搭建kubernetes(k8s)

kubeadm搭建kubernetes&#xff08;k8s&#xff09; 一、环境准备1.所有节点&#xff0c;关闭防火墙规则&#xff0c;关闭selinux&#xff0c;关闭swap交换2.修改主机名3.所有节点修改hosts文件4.调整内核参数5.生效参数 二、 安装软件1.所有节点安装docker2.所有节点安装kubea…

Java8实战-总结22

Java8实战-总结22 使用流数值流原始类型流特化数值范围数值流应用&#xff1a;勾股数 使用流 数值流 可以使用reduce方法计算流中元素的总和。例如&#xff0c;可以像下面这样计算菜单的热量&#xff1a; int calories menu.stream().map(Dish::getcalories).reduce(0, Int…

使用spring自带的发布订阅机制来实现消息发布订阅

背景 公司的项目以前代码里面有存在使用spring自带发布订阅的代码&#xff0c;因此稍微学习一下如何使用&#xff0c;并了解一下这种实现方式的优缺点。 优点 实现方便&#xff0c;代码方面基本只需要定义消息体和消费者&#xff0c;适用于小型应用程序。不依赖外部中间件&a…