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

Mac OS 中JDK 环境(jdk 1.8.0_831)安装配置、环境变量配置及卸载操作

前言:

        摊牌了,本来就有点喜新厌旧的我,特意把系统和开发环境都拉到比较高,想试验一下兼容性和某些新特性,探索了一下新大陆,也见识了各种光怪陆离的妖魔鬼怪。

        因为要着手云平台项目的重构改版和新系统的架构和开发,而Nacos和MySQL总是出现各种奇奇怪怪的问题,考虑到可能是因为JDK版本和系统版本比较高,兼容性和稳定性还是有些担忧,于是放弃幻奔回解放前,顺手讲JDK回退至JDK1.8 。 当然另一个主要原因是jdk 1.8以上版本据说已经开始收费了,想到当年O哥和G哥因为JAVA干官司,咱还是用用免费JDK版本算了。

        处理过程备个忘,弥补一下本来就稀缺的大脑🧠内存资源。也就此分享给需要的胖友们。

一、Mac OS 查看系统版本信息/硬件信息的命令

文章目录

  • 1、查看硬盘信息
  • 2、查看系统内核信息
  • 3、查看 OS 版本信息

1、查看硬盘信息

MacBook-Pro$ system_profiler SPHardwareDataType
Hardware:Hardware Overview:Model Name: MacBook ProModel Identifier: MacBookPro14,3Processor Name: Quad-Core Intel Core i7Processor Speed: 2.9 GHzNumber of Processors: 1Total Number of Cores: 4L2 Cache (per Core): 256 KBL3 Cache: 8 MBHyper-Threading Technology: EnabledMemory: 16 GBSystem Firmware Version: 515.0.0.0.0OS Loader Version: 577.140.2~15SMC Version (system): 2.45f5Serial Number (system): FVXXXN1XXXHardware UUID: 50BXXX4-C6D9-5E4E-BA71-992XXXXX9A282Provisioning UDID: 50XXX804-C6D9-5E4E-BA71-9XXXXXA282

2、查看系统内核信息

MacBook-Pro% sw_vers
ProductName:		macOS
ProductVersion:		13.5.1
BuildVersion:		22G90

3、查看 OS 版本信息

MacBook-Pro$ sw_vers
ProductName:		macOS
ProductVersion:		13.5.1
BuildVersion:		22G90

二、JDK安装配置

登录Oracle官网下载jdk1.8  (当前最新版本为1.8.0_381)

Java Downloads | Oracle

安装过程一路双击“下一步”,就OK.

为防止mvn、nacos、MQ等找不到路 ,以及某些依赖java的软件找不到jdk路径,我们需要把jdk路径配置到环境变量中。

dmg包安装的默认路径一般如下:

/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/

MacOS  系统中可以用Finder(访达)下的"Go to folder" 配合tab键补全来确认路径和复制路径:

 正式配置环境变量:

sudo vim /etc/profile

然后在该profile文件最末尾追加如下路径配置代码

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

先“ESC”然后冒号切换到vim命令模式(vim编辑器还不会用的胖友请咨询度娘)

强制保存并退出":wq!"

(这里是因为mac系统的权限限制问题,需要加!才能保存)

三、JDK安装配置

========================= MacOS 系统中jdk彻底卸载清除的方法步骤============

1、删除运行路径和运行环境

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

输入密码,回车,继续

sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Java


 2、查看当前jdk版本

java -version

3、查看jdk路径

/usr/libexec/java_home -V


4、删除当前版本的jdk,注意检查版本号是不是当前想要删除的版本

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-17.0.8.jdk


 5、查看jdk是否卸载完毕

java -version

如果能正常显示Java版本和运行环境版本,那恭喜你,已经配置成功:

MacBook-Pro bin % java -version
java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

提示:

1.如果你在系统中安装了多个jdk版本,系统默认的jdk版本会自动指定较高版本,怎么设置都没用,除非你把高版本jdk卸载彻底,环境变量改为低版本并使用source命令修改生效后,使用"java -version" 或“java --version”查出来的版本才会是较低版本;

2.一般情况不建议在系统中塞多个版本jdk,如果在idea等开发IDE中需要其他版本的jdk,使用idea内嵌的jdk管理工具下载和添加即可,系统底层原生就装一个就好了。不然后宫起火比较麻烦。

3.jdk版本查询命令一般1条短线就可以,jdk17及以上版本要两条短线

# jdk 1.8及以下
java -version# jdk 17及以上
java --version

自己去实践一下吧

相关文章:

Mac OS 中JDK 环境(jdk 1.8.0_831)安装配置、环境变量配置及卸载操作

前言: 摊牌了,本来就有点喜新厌旧的我,特意把系统和开发环境都拉到比较高,想试验一下兼容性和某些新特性,探索了一下新大陆,也见识了各种光怪陆离的妖魔鬼怪。 因为要着手云平台项目的重构改版和新系统的架…...

[JAVAee]Tomcat - Servlet

目录 Tomcat Servlet的工作 创建Servlet ①项目 ②依赖 ③目录 ④代码 ⑤打包 ⑥部署 ⑦验证 Servlet的运行原理 Servlet API HttpServlet 方法 处理Get/POST请求 HttpServletRequest 方法 获取请求中的信息 获取GET请求中的参数 获取POST请求中的参数…...

MAC钓鱼并Root权限上线CS并权限维持,以及所有的坑如何解决

本文转载于:https://www.freebuf.com/articles/web/350592.html 作者:文鸯涂鸦智能安全实验室 制作MAC 一、下载工具 首先从github上下载CrossC2。链接:https://github.com/gloxec/CrossC2/releases/tag/v3.1.0。 根据你CS客户端的操作系统选…...

浅谈OCR中的David Shepard

在OCR(Optical Character Recognition,光学字符识别)中,David Shepard是一种早期的OCR技术,也被称为Shepards Method。 David Shepard是该OCR方法的原始作者。这种方法基于边界追踪算法,用于识别印刷体文本…...

draw.io导出矢量图到word报错text is not svg - cannot display

先参考https://blog.csdn.net/a625750076/article/details/126384831 如果不行,可能是转存的问题 解决方法:直接在draw.io上操作 第一步 第二步 然后再word中粘贴,依旧是矢量图哦!...

JVM加强

目录 JVM运行时的数据区(内存结构): 线程独享: 线程共享: 什么时候会内存溢出 JVM有哪些垃圾回收算法 GC如何判断对象可以被回收 典型的垃圾回收器 CMS: G1: 类加载器和双亲委派机制&a…...

解决Oracle中XML插入数据时的空格问题

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

微服务中间件--分布式事务

分布式事务 a.理论基础1) CAP定理2) BASE理论 b.Seata1) XA模式1.a) 实现XA模式 2) AT模式3) TCC模式3.a) 代码实现 4) Saga模式5) 四种模式对比6) TC的异地多机房容灾架构 a.理论基础 1) CAP定理 分布式系统有三个指标: Consistency(一致性&#xff…...

计算机网络(9) --- 数据链路层与MAC帧

计算机网络(8) --- IP与IP协议_哈里沃克的博客-CSDN博客IP与IP协议https://blog.csdn.net/m0_63488627/article/details/132155460?spm1001.2014.3001.5502 目录 1.MAC帧 1.MAC地址 2.MAC帧报头 3.资源碰撞 4.MTU 1.对IP协议的影响 2.对UDP协议…...

【学会动态规划】环绕字符串中唯一的子字符串(25)

目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…...

CNN卷积详解(三)

一、卷积层的计算 4 ∗ * ∗ 4的输入矩阵 I I I 和 3 ∗ * ∗ 3 的卷积核 K K K: 在步长(stride)为 1 时,输出的大小为 ( 4 − 3 1 ) ( 4 − 3 1) 计算公式: ● 输入图片矩阵 I I I 大小: w w w w ww ●…...

使用 Amazon Redshift Serverless 和 Toucan 构建数据故事应用程序

这是由 Toucan 的解决方案工程师 Django Bouchez与亚马逊云科技共同撰写的特约文章。 带有控制面板、报告和分析的商业智能(BI,Business Intelligence)仍是最受欢迎的数据和分析使用场景之一。它为业务分析师和经理提供企业的过去状态和当前状…...

CentOS 上快速安装包管理工具Conda

要在 CentOS 上安装 Conda,您可以按照以下步骤进行操作: 1. 下载 Miniconda 或 Anaconda 安装脚本: Miniconda:适用于轻量级安装的 Miniconda 版本。 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.…...

opencv-手势识别

# HandTrackingModule.py import cv2 import mediapipe as mpclass HandDetector:"""使用mediapipe库查找手。导出地标像素格式。添加了额外的功能。如查找方式,许多手指向上或两个手指之间的距离。而且提供找到的手的边界框信息。"""…...

【SA8295P 源码分析】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析

【SA8295P 源码分析】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析 一、HQX Display 介绍1.1 OpenWF Display Driver二、HQX Display 配置文件参数解析2.1 qcdisplaycfg.xml 配置文件2.1 配置两个 DPUs in QNX2.1.1 配置 graphics_ADP_STAR.conf : …...

达梦数据库权限和预定角色介绍

概述 本文对达梦数据库数据库和对象权限及DM预定义角色及角色创建进行介绍。 1.权限管理 用户权限有两类:数据库权限和对象权限。 数据库权限主要是指针对数据库对象的创建、删除、修改的权限,对数据库备份等权限。 数据库权限一般由 SYSDBA、SYSAU…...

Python编程从入门到实践_8-8 用户的专辑_答案

Python编程从入门到实践_8-8 用户的专辑_答案 我也看了一些其他人的答案,很多的答案存在问题,每次调用函数 make_album() 后生成一个专辑字典会覆盖上次调用函数 make_album() 生成的字典,不符合题意。 我采取的解决方案是添加一个空列表 …...

HummingBird 基于 Go 开源超轻量级 IoT 物联网平台

蜂鸟(HummingBird) 是 Go 语言实现的超轻量级物联网开发平台,包含设备接入、产品管理、物模型、告警中心、规则引擎等丰富功能模块。系统采用GoLang编写,占用内存极低, 单物理机可实现百设备的连接。 在数据存储上&…...

10.小程序样式

样式 css部分样式不支持,并且添加了rpx属性,小程序开发的时候应该使用rpx,而不是px,因为rpx是将移动端的屏幕大小分为750份,会自动按设备的大小去适配;我们在开发时应该以iphone6为基准的设备进行开发&…...

Flink 流式读写文件、文件夹

文章目录 一、flink 流式读取文件夹、文件二、flink 写入文件系统——StreamFileSink三、查看完整代码 一、flink 流式读取文件夹、文件 Apache Flink针对文件系统实现了一个可重置的source连接器,将文件看作流来读取数据。如下面的例子所示: StreamExe…...

UE5 BaseEditorSettings.ini加载原理与配置生效机制

1. 为什么你改了BaseEditorSettings.ini却没生效?——从UE5编辑器启动流程讲起很多人在UE5项目里折腾半天,把BaseEditorSettings.ini文件翻来覆去改了十几遍,重启编辑器后发现:缩放比例还是不对、网格间距没变、甚至“启用实时预览…...

Buzz音频转录完全指南:3大核心功能+5个实战场景,快速掌握本地语音转文字技术

Buzz音频转录完全指南:3大核心功能5个实战场景,快速掌握本地语音转文字技术 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Tr…...

用Python和MNE库玩转BCI Competition IV 2a脑电数据集:从数据加载到可视化全流程

用Python和MNE库玩转BCI Competition IV 2a脑电数据集:从数据加载到可视化全流程当你第一次接触脑电信号处理时,面对原始数据文件可能会感到无从下手。BCI Competition IV 2a数据集作为脑机接口领域的经典基准数据,包含了9名受试者四种运动想…...

AI写的论文双率如何压到20%以下?这几款工具实测有效

毕业季、投稿季用AI写论文已经成为不少人的高效选择,但查重率飘红、AIGC疑似率超标两大问题,让很多人犯了难。2026年学术检测标准持续收紧,知网、维普及主流AIGC检测系统同步上线双检规则,两项指标均控制在20%以下才符合基本提交要…...

MongoDB Limit 与 Skip 方法详解

MongoDB Limit 与 Skip 方法详解 引言 MongoDB 是一个高性能、可伸缩的文档存储系统,它提供了强大的数据存储和查询功能。在处理大量数据时,Limit 与 Skip 方法是 MongoDB 中常用的查询优化工具。本文将详细介绍 MongoDB 中的 Limit 与 Skip 方法,包括其基本用法、性能影响…...

别再手动维护接口文档了!用Spring Boot 3和Swagger 3实现代码与文档的自动同步

Spring Boot 3与Swagger 3:构建零维护成本的API文档工作流 每次接口变更都要手动更新文档?团队成员总是抱怨文档与实际接口不一致?在敏捷开发时代,传统文档维护方式已成为拖累工程效率的典型痛点。本文将揭示如何通过Spring Boot …...

独立开发者如何利用Taotoken的TokenPlan在项目初期有效控制AI实验成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何利用Taotoken的TokenPlan在项目初期有效控制AI实验成本 对于独立开发者或学生而言,在构建AI应用原型时&…...

动物森友会岛屿设计终极指南:用Happy Island Designer打造梦想岛屿

动物森友会岛屿设计终极指南:用Happy Island Designer打造梦想岛屿 【免费下载链接】HappyIslandDesigner "Happy Island Designer (Alpha)",是一个在线工具,它允许用户设计和定制自己的岛屿。这个工具是受游戏《动物森友会》(Anim…...

BGP选路原则--本地优先级(LocPrf)

如果BGP收到相同的路由,首选值PrefVal如果也相同的话,那么就会继续比较下一条原则:本地优先级Local_Pref 一、拓扑图 二、配置BGP路由协议: R1 bgp 100 peer 12.1.1.2 as-number 200 peer 13.1.1.3 as-number 200 R2 bgp 200 peer 4.4.4.4 as-number 200 peer 4.4.4…...

项目文档:基于Multisim的汽车尾灯顺序控制电路模块化设计与仿真

摘要:本设计并实现了一种基于模块化思想的汽车尾灯顺序控制电路。该系统采用分模块设计方法,将整体电路划分为左移模块、右移模块和闪烁模块三个独立功能单元,通过模块化组合实现汽车转向灯的流水显示效果。项目简介本项目旨在设计一套完整的…...