MacBook Java开发环境搭建记录

news2024/11/28 22:42:50

一、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.coloradmin.cn/o/769195.html

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

相关文章

SQLite Expert Personal的简单使用

官方网站&#xff1a; sqliteexpert官方网址 - SQLite administration | SQLite Expert ​—————————————————————————————————————————— 免费的受欢迎的 SQLite 管理工具 SQLite Manager 0.8.0 Firefox Plugin 这是一个 Firefox …

【MySQL】多表查询(四)

&#x1f697;MySQL学习第四站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~ 之前我们介绍DQL语句&#xff0c;也就是数据查询语句的时候&#xff0c;介绍的查询操作都是单表查询&#xff0c;他的功能当然…

山西电力市场日前价格预测【2023-07-20】

日前价格预测 预测明日&#xff08;2023-07-20&#xff09;山西电力市场全天平均日前电价为337.62元/MWh。其中&#xff0c;最高日前电价为375.88元/MWh&#xff0c;预计出现在06: 00。最低日前电价为291.47元/MWh&#xff0c;预计出现在13: 30。 价差方向预测 1&#xff1a;实…

Elasticsearch 介绍及java集成

一、Elasticsearch 基础介绍 ElasticSearch 是分布式实时搜索、实时分析、实时存储引擎&#xff0c;简称&#xff08;ES)&#xff0c; 成立于2012年&#xff0c;是一家来自荷兰的、开源的大数据搜索、分析服务提供商&#xff0c;为企业提供实时搜索、数据分析服务&#xff0c;…

Django MultiValueDictKeyError 表单数据用request.POST 非表单数据用request.body

表单数据&#xff1a;Content-Type(请求头)为application/x-www-form-urlencoded的数据。 用request.POST获取 a request.POST.get(a) a request.POST[a] alist request.POST.getlist(a) 非表单数据&#xff1a;Content-Type(请求头)为非application/x-www-form-urlenco…

ORACLE TO POSTGRESQL 来自2天上海的印象

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

Qt MenuBar自定义Icon大小

提到QMenu中如何定制Icon的大小&#xff0c;第一个想到的是使用qss来修改样式&#xff0c;便尝试了如下语句&#xff1a; QMenu::icon { width: 24px;height: 24px; } 但是经尝试&#xff0c;这个办法并未奏效&#xff0c;QMenu中图标大小&#xff0c;默认为16*16&#xff0c…

一篇文章教会你,在IntelliJ IDEA 中,一些让你相见恨晚的技巧

1.Easy Code Easy Code我个人在写博客案例demo时用的比较多&#xff0c;它可以快速的将数据库表映射成Java中的entity、controller、service、dao、mapper等文件&#xff0c;少量编码实现快速开发。 先用database连接数据库&#xff0c;在对应表上直接右键执行EasyCode即可生成…

计算机服务器中了360后缀勒索病毒,正确的解密恢复数据库的方式有哪些

随着计算机技术的不断发展&#xff0c;网络安全也引起了人们重视&#xff0c;近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的计算机服务器被360后缀勒索病毒攻击&#xff0c;导致系统内的数据库全部被加密&#xff0c;重要数据无法被读取&#xff0c;严重影响了企业…

你认为大数据的特点是什么?_光点科技

随着信息技术的迅猛发展&#xff0c;大数据已成为当今社会不可忽视的重要资源。它是指规模庞大且快速增长的数据集合&#xff0c;其中包含着宝贵的信息和见解。大数据的特点是多样而复杂的&#xff0c;它们塑造了我们的世界并深刻地影响着各行各业。 巨大的规模&#xff1a;大数…

电脑pdf怎么免费转换成ppt?分享3个好方法!

在现代办公环境中&#xff0c;将PDF文件转换为PPT格式是一项常见的任务。在本文中&#xff0c;我们将分享三种免费的方法&#xff0c;帮助您将电脑上的PDF文件快速转换为PPT&#xff0c;以便更方便地编辑和展示。 方法一&#xff1a;使用Adobe Acrobat Reader DC Adobe Acrob…

Java File类的基本使用方法总结

Java File类的基本使用方法总结 java IO中File的使用是比较频繁的&#xff0c;在文件的上传和删除中都会用到的。比如我们在写管理系统的时候有可能会用到图片的上传&#xff0c;和删除。那么我们就会用到Java的 File来处理。 Java中File的基本使用创建和删除文件&#xff1a;…

剑指29.顺时针打印矩阵 31 栈的压入,弹出序列 03 数组中的重复数字 53缺失的数字 04二维数组中的查找

class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) { if (matrix.size() 0 || matrix[0].size() 0&#xff09; return {};//必须要写到最前面&#xff0c;因为right和bottom-1就是负数了vector<int> result;int l…

STM32开发踩坑——MDK如何生成bin文件

成立这个专栏的目的是&#xff0c;记录自己嵌入式开发遇到的问题&#xff0c;与成功的解决方法&#xff0c;方便自己回顾。 首先介绍下bin文件与hex文件的区别吧&#xff0c; 自己的理解&#xff1a; bin文件&#xff1a;纯粹的二进制&#xff08;0与1&#xff09;文件&…

防范运维端数据安全风险,数据库防水坝在不同行业的落地实践

在历史长河中&#xff0c;充满着强者未屈服于外部危险&#xff0c;却折戟内部威胁的记载&#xff0c;人类总是容易被咄咄逼人的外部所迷惑&#xff0c;反而忽略了近在咫尺的涌动暗潮。 数据安全领域&#xff0c;也面临类似的问题&#xff01; 数据库运维场景&#xff0c;数据安…

Linux 学习记录52(ARM篇)

Linux 学习记录52(ARM篇) 本文目录 Linux 学习记录52(ARM篇)一、汇编语言相关语法1. 汇编语言的组成部分2. 汇编指令的类型3. 汇编指令的使用格式 二、基本数据处理指令1. 数据搬移指令(1. 格式(2. 指令码类型(3. 使用示例 2. 立即数(1. 一条指令的组成 3. 移位操作指令(1. 格式…

MySQL执行过程与bufferPool缓存机制

MySQL执行过程与bufferPool缓存机制 一、SQL执行流程图二、个人理解的Innodb执行引擎执行顺序1、去磁盘文件查找id为1的整页数据&#xff0c;加载到Buffer Pool缓存池中&#xff1b;2、然后写入更新数据的旧值&#xff08;这里指namezhuge的数据&#xff09;&#xff0c;写入到…

【电路原理学习笔记】第4章:能量与功率:4.5 稳压电源与电池

第4章&#xff1a;能量与功率 4.5 稳压电源与电池 电网采用交流电形式将电能从发电站传输给用户&#xff0c;这是因为交流电易于转换成适宜传输的高压和终端用户使用的低压。在远距离传输时&#xff0c;采用高电压传输的效率和效益要高得多。对于给定的功率&#xff0c;较高的…

安全开发-PHP应用模版引用Smarty渲染MVC模型数据联动RCE安全TP框架路由访问对象操作内置过滤绕过核心漏洞

文章目录 自写模版引用Smarty模版引用代码RCE安全测试TP框架-开发-配置架构&路由&MVC模型TP框架-安全-不安全写法&版本过滤绕过 自写模版引用 1、页面显示样式编排 <?php include config.php; $templatefile_get_contents(new.html);$id$_GET[id] ? :1; $sq…

win11中的pagefile.sys

在C盘系统下&#xff0c;有一个命名为pagefile.sys的文件占用C盘太大的空间&#xff0c;不少用户怕删除pagefile.sys文件之后会对系统造成影响&#xff0c;而不少用户想要将pagefile.sys文件移动到D盘中。那么pagefile.sys是什么文件&#xff1f;Win10系统下pagefile.sys文件太…