MacBook Java开发环境搭建记录

一、Homebrew的镜像设置

 对于Java JDK的安装,我们更推荐使用Homebrew来进行安装管理。但Homebrew的curl国外源的下载速度实在是一言难尽,时常还会发生无法访问的情况。

 那么我们此时的解决方法就有两种了,第一种便是使用全局的VPN代理进行下载,其次就是更为推荐的方法:使用国内镜像下载。熟悉NPM、MAVEN等工具的同学们应该对更换镜像源这个操作都是比较熟悉的。

1. 镜像替换

 那么首先是对镜像进行替换的脚本如下:

# 替换brew.git
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git# 替换homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git# 替换brew.git
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git# 替换homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git

 当不需要再使用镜像源或镜像源损坏无法安装时,我们便需要还原镜像源,还原的脚本如下:

# 还原brew.git
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git# 还原homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git# 还原brew.git
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git# 还原homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git

 替换homebrew-bottles比较特殊,需要先查看当前的shell版本,测试脚本如下:

echo $SHELL会输出 /bin/zsh 或 /bin/bashecho $SHELL会输出 /bin/zsh 或 /bin/bash

 新版的mac一般都是/bin/zsh接着我们输入以下脚本替换镜像:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrcecho 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

 还原的方法便是删除.zshrc中的该行,这里的方式很多。

 若是bash版本的terminal则将.zshrc替换为bash_profile即可。

2. curl代理设置

 第一种方式的镜像效果可能并不显著,那么我们将采取第二个方法:修改curl的代理,因为brew是利用curl来进行下载的,因此我们可以检查根目录cd ~下是否存在.curl文件,如果没有可以创建一个(touch .curl),接着填入proxy=ip:port的组合,如:

3. 2023.7.18 补充

 通过安装国内镜像版本的homebrew并配置国内镜像以得到更快的下载速度,也可以跳过第一个选项,在第二个选项中进行镜像的配置。脚本作者提供的安装文档如下:国内如何自动安装HomeBrew。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

二、JDK安装

 JDK的安装渠道比较多,大部分的网站提供的JDK都能够适配Mac Silicon,你可以选择与windows一致的从Oracle官方进行下载.tar.gz.dmg安装版进行安装。

 还有一种方法就是通过homebrew(推荐),使用homebrew在后期我们可以更好的管理电脑上安装的相关开发依赖,并且可以通过命令一键卸载。接着我们来到JDK提供homebrew的网站Adoptium,选择Document中的Install Eclipse Temurin。

 接着我们就可以根据网站提供的brew命令进行安装,根据英文我们不难看出,是否指定JDK的版本取决于是否在temruin后加上版本号。

 完成上述安装命令之后,我们可以通过zsh命令java --version来查看JDK是否成功被安装,如果显示无此命令可以重启终端后重试。

 至此JDK的安装就完成了。

三、Maven安装

 Maven的安装同样可以通过homebrew来完成,在homebrew的官网上我们可以搜索maven,得到如下页面:

 告诉我们安装Maven可以通过命令brew install maven来完成,当然如果你希望指定版本,可以根据官网提供的方法:brew install maven@3.5来完成。

 在homebrew完成安装之后同样可以通过命令mvn --version查看Maven是否被安装

 在这里我们可以看到Maven所处的home地址,接着我们要做的就是去修改config中的setting.xml进行镜像的替换,因为Macbook并没有与windows一样的分区,因此在mac上我一般不去修改repository的地址。

 若有更换repository的需求,可以在setting的该部分进行修改,当然你也可以使用vim、cat等命令进行查看与修改。

镜像替换部分代码如下:

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

总结

 以上便是本次在MacBook上对Java环境变量的搭建,至于ide我使用的是Jetbrans Idea。后续若有安装其他Java环境将在本文后进行追加,如Redis、Docker、mysql等。

 以上,感谢。

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

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

相关文章

让你不再疑惑加水印用什么软件

每个人都有自己的独特创意和作品&#xff0c;而在现今互联网时代&#xff0c;分享和传播作品已成为一种普遍现象。然而&#xff0c;随着互联网的发展&#xff0c;越来越多的作品被人恶意盗用和复制&#xff0c;使得原创作者的权益受到了侵害。为了保护自己的作品&#xff0c;加…

【SpringBoot】从零开始封装自己的starter并且引入到其他项目中使用

从零开始封装自己的starter并且引入到其他项目中使用 简介 本文将介绍如何从零开始封装自己的starter并且引入到其他项目中使用 为什么要自己封装starter&#xff1f; 这样可以对spring以及其他第三方提供的starter做二次封装或者封装一些自己需要的内容提供给其他项目使用&…

MySQL五种约束类型(普通 /自增主键,外键等) + 进阶查询(聚合查询,内 /外连接查询,自连接查询,子查询,合并查询)

文章目录 前言一、五种约束NOT NULL 约束UNIQUE 约束DEFAULT 约束PRIMARY KEY 主键约束(重点)普通主键自增主键 FOREIGN KEY 外键约束(重点) 二、进阶查询聚合查询聚合函数GROUP BY子句HAVING 联合查询笛卡尔积内连接外连接自连接子查询单行子查询&#xff1a;返回一行记录的子…

乔云监控tf卡格式化后数据恢复方法

您有没有使用过乔云牌监控设备呢&#xff1f;它通常里面会放置一个TF卡以存储录像&#xff0c;而TF卡长期高温高速运行&#xff0c;容易产生碎片&#xff0c;因此很多商家会建议大家一个月进行一次格式化。但是格式化后您有没有后悔过呢&#xff1f;在这个篇文章中&#xff0c;…

【Python】类型注解 ③ ( 使用 # type: 类型 注释方式设置类型注解 | 类型注解是提示性而非强制性 )

文章目录 一、使用 注释语法 设置 类型注解1、使用 注释语法 设置 类型注解语法介绍2、为 基础类型变量 设置 " 类型注解 "3、为 类 的 对象类型 设置 " 类型注解 "4、为 基础容器类型变量 设置 简易 " 类型注解 "5、为 基础容器类型变量 设置 详…

基于深度学习的高精度工人安全帽检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度工人安全帽检测识别系统可用于日常生活中或野外来检测与定位工人安全帽目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的工人安全帽目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用…

Windows与Linux取证分析

目录 一、电子数据取证基本概念 1.电子取证学 2.常规取证 3.洛卡德物质交换原理 4.电子数据范围 5.电子数据取证的概念和目的 6.电子数据取证过程 二、Linux系统取证 1.基本信息获取 &#xff08;1&#xff09;获取系统基础信息 &#xff08;2&#xff09;用户/用户…

共筑开源新长城 龙蜥社区走进开放原子校源行-清华大学站

6 月 28 日&#xff0c;以“聚缘于校&#xff0c;开源共行”为主题的 2023 年开放原子校源行活动在清华大学成功举行。本次活动由开放原子开源基金会和清华大学共同主办&#xff0c;来自各行业的 22 位大咖共聚校园共话开源。龙蜥社区技术专家边子政受邀进行技术分享&#xff0…

UWB天线设计之一种优化扁平超宽带单极的新方法

文章亮点 一种新颖的方法提出了扁平超宽带单极天线。 通过应用收缩,可以设计具有相同性能的更小的天线作为平面单极天线。 优化结果表明该方法能够设计非常小的天线。 在这项研究中,提出了一种优化扁平超宽带单极天线的新方法。在该方法中,一般性地描述了天线的形状。这种一…

LeetCode141.环形链表

141.环形链表 目录 141.环形链表一、哈希表二、双指针 一、哈希表 最容易想到的方法就是遍历所有节点&#xff0c;每次遍历到一个节点的时候&#xff0c;判断该节点此前是否被访问过 我们可以使用哈希表来存储所有已经访问过的节点 每次到达一个节点&#xff0c;如果该节点已…

Web3时代来临:你准备好了吗?

如果你正在浏览本文&#xff0c;那么很可能你已经是Web3时代的一部分了&#xff0c;或者至少是将要成为其中的一员。因为Web3时代即将来临&#xff0c;它将彻底改变我们对互联网的认识和使用方式。 那么&#xff0c;什么是Web3时代呢&#xff1f;简单来说&#xff0c;它是指基于…

JPA实现多对多关系

本文已收录于专栏 《Java》 目录 概念说明优势利弊实现方式通过两个ManyToMany注解实现类图代码 通过OneToMany和ManyToOne注解实现类图代码 少走弯路总结提升 概念说明 多对多关系是指两个实体之间存在多对多的关联关系。在数据库中&#xff0c;多对多关系无法直接表示&#x…

【树链+EXGCD】杭电多校第一场 A

1001 Hide-And-Seek Game (hdu.edu.cn) 题意&#xff1a; 给定一棵树和两条路径&#xff0c;每条路径都有起点和终点&#xff0c;起始时起点有人&#xff0c;每隔一秒都会往终点走一步&#xff0c;会从起点走向终点再会起点这样不断地周期性地走&#xff0c;让你求一点&#…

UDP-组播,广播

转自&#xff1a;https://www.cnblogs.com/wangzhilei-src/p/15314315.html UDP是面向非连接的协议&#xff0c;它不与对方建立连接&#xff0c;而是直接把数据报发给对方。UDP无需建立类如三次握手的连接&#xff0c;使得通信效率很高。因此UDP适用于一次传输数据量很少、对可…

STM32 HAL库定时器输入捕获SlaveMode脉宽测量

STM32 HAL库定时器输入捕获SlaveMode脉宽测量 SlaveMode模式简介 ✨SlaveMode复位模式&#xff1a;在发生一个触发输入事件时&#xff0c;计数器和它的预分频器能够重新被初始化&#xff1b;同时&#xff0c;如果TIMx_CR1寄存器的URS位为低&#xff0c;还会产生一个更新事件UEV…

Android TextView 在最后一行末尾加图标

当前有个需求.显示一段文本&#xff0c;文本最多显示两行&#xff0c;点击展开后才显示完全。当没有显示完全的时候&#xff0c;需要在文本的第二行末尾显示图标&#xff0c;点击图标和文本&#xff0c;文本展开。难点在于图标需要和第二行文本显示在同一行&#xff0c;高度和文…

windows10 搭建hadoop环境,并且使用hadoop命令

hadoop 环境创建 1. 八、window搭建spark IDEA开发环境 按照步骤安装完 2. windows下安装和配置hadoop 配置环境变量&#xff0c;注意JAVA_HOME路径&#xff0c;修改后&#xff0c;重启电脑&#xff0c;不重启容易报错&#xff01;&#xff01;&#xff01; ​ 新建dat…

【量化课程】02_1.宏观经济学基础概念

2.1_宏观经济学基础概念 文章目录 2.1_宏观经济学基础概念1. 宏观经济简单背景1.1 微观经济学时期1.2 宏观经济学开端1.3 宏观经济学研究的问题1.4 宏观经济与理财的联系 2. 宏观经济分析及关键指标2.1 教材中的宏观经济分析框架和指标2.1.1 国内生产总值GDP2.1.2 边际消费倾向…

Non-Local Video Denoising by CNN

摘要 Non-local patch based methods were until recently state-of-the-art for image denoising but are now outper formed by CNNs. Y et they are still the state-of-the-art for video denoising, as video redundancy is a key factor to attain high denoising perfor…

远程大文件传输工具该怎么选择?

随着网络技术的不断进步&#xff0c;越来越多的人需要在不同地点之间传输文件。这时候&#xff0c;我们便需要使用远程文件传输工具。 1、什么是远程文件传输工具呢&#xff1f; 简单来说&#xff0c;它是一种能够帮助我们在不同设备之间传输文件的工具。通常情况下&#xff0…