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 Pro
      Model Identifier: MacBookPro14,3
      Processor Name: Quad-Core Intel Core i7
      Processor Speed: 2.9 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 8 MB
      Hyper-Threading Technology: Enabled
      Memory: 16 GB
      System Firmware Version: 515.0.0.0.0
      OS Loader Version: 577.140.2~15
      SMC Version (system): 2.45f5
      Serial Number (system): FVXXXN1XXX
      Hardware UUID: 50BXXX4-C6D9-5E4E-BA71-992XXXXX9A282
      Provisioning 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

自己去实践一下吧

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue+Axios搭建二次元动态登录页面(mp4视频格式)

最近想做一个前端登录页面,背景好看的,格式中规中矩的,这么难?我自己创一个吧! 效果图如下: 源码可以参考我的github,复制源码即可用:gym02/loginPage_Vue: 使用VueAxios搭建的动态…

2022年30m全国逐年土地覆被数据

1.研究背景 2023年8月,武汉大学杨杰和黄昕教授团队向公众更新发布了CLCD 2022年全国土地覆数据(V1.0.2)。而CLCD 2021年全国土地覆数据(V1.0.1)也是在去年8月向公众更新发布。 中国在过去几十年中经济和人口迅速发展,土地覆盖随之发生巨大变化,因此迫切需要对其进行连续…

将AI融入CG特效工作流;对谈Dify创始人张路宇;关于Llama 2的一切资源;普林斯顿LLM高阶课程;LLM当前的10大挑战 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 将AI融入CG特效工作流,体验极致的效率提升 BV1pP411r7HY 这是 B站UP主 特效小哥studio 和 拓星研究所 联合投稿的一个AI特…

Unity shader 入门之渲染管线一、总览

如下示意图 应用阶段(ApplicationStage):准备场景信息(视景体,摄像机参数)、粗粒度剔除、定义每个模型的渲染命令(材质,shader)——由开发者定义,不做讨论。几何阶段(GemetryStage)&…

商城-学习整理-集群-K8S(二十三)

目录 一、k8s 集群部署1、k8s 快速入门1)、简介2)、架构1、整体主从方式2、Master 节点架构3、Node 节点架构 3)、概念4)、快速体验1、安装 minikube2、体验 nginx 部署升级 5)、流程叙述 2、k8s 集群安装1、kubeadm2、…

matlab中判断数据的奇偶性(mod函数、rem函数)

用Matlab判断一个数是偶数还是奇数 1、mod函数 X 25;%要判断的数 if mod(X,2)1disp(奇数);%奇数 elsedisp(偶数);%偶数 end结果 2、rem函数 n25; if rem(n,2)0display(偶数); elsedisplay(奇数); end结果

neo4j

UNWIND 将列表里的值展开 CREATE (N0:Person {name: Anders}) CREATE (N1:Person {name: Becky}) CREATE (N2:Person {name: Cesar}) CREATE (N3:Person {name: Dilshad}) CREATE (N4:Person {name: George}) CREATE (N5:Person {name: Filipa})CREATE (N0)-[:KNOWS]->(N3)…

Nevron Open Vision for .NET Crack

Nevron Open Vision for .NET Crack NET Vision是一个用于生成具有数据可视化功能的强大数据表示应用程序的包。该套件具有用于.NET的Nevron Chart、用于.NET的Nevron Diagram和用于.NET的Nevron User Interface。精心设计的对象模型、许多功能和卓越的演示使复杂数据的可视化变…

【Terraform学习】使用 Terraform 将 EC2 实例作为 Web 服务器启动(Terraform-AWS最佳实战学习)

使用 Terraform 将 EC2 实例作为 Web 服务器启动 实验步骤 前提条件 安装 Terraform: 地址 下载仓库代码模版 本实验代码位于 task_ec2 文件夹中。 变量文件 variables.tf 在上面的代码中,您将声明,aws_access_key,aws_secr…

基于YOLOv8模型和Caltech数据集的行人检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要 基于YOLOv8模型和Caltech数据集的行人检测系统可用于日常生活中检测与定位行人,利用深度学习算法可实现图片、视频、摄像头等方式的行人目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集…

【SpringSecurity】五、UserDetails接口和UserDetailsService接口

文章目录 1、SpringSecurity原理2、UserDetails接口3、UserDetailService接口4、权限配置 1、SpringSecurity原理 Spring Security是做安全访问控制,对所有进入系统的请求进行拦截,并做校验,这可以通过Filter或者AOP实现,Spring …

STP生成树协议

一、STP是什么 STP协议概述生成树协议(spanning tree protocol),是一种工作在OSI网络模型中第二层(数据链路层)的通信协议,是一种由交换机运行的,基本应用是防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构&…

FUSE简单了解

FUSE是什么? FUSE(filesystem in userspace)是一个用户态文件系统框架。由内核模块(fuse.ko)、用户态库(libfuse.*)和挂载工具组成(fusermount) fuse最重要的特性是fuse可以允许安全、非特权挂…

Spring相关知识

0、Spring的核心就是AOP和IOC IOC: AOP:AOP(Aspect Oriented Programming)是面向切面编程,它是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的…

nvm安装后出现node或者nvm不是内部或外部命令,也不是可运行的程序 解决方案

如果你发现你运行nvm命令或者是node命令再或者是npm命令,他都提示你“不是内部或外部命令,也不是可运行的程序”。那么解决方案如下 1.先检查自己的nvm是否安装的没有问题,nvm的文件位置如下图,(如果不更改默认安装位置…

Docker构建镜像

Docker根据Dockerfile文件构建镜像 在实际生产中,常常使用Dockerfile构建企业级生产环境镜像,然后再部署在我们的生产环境中,本文将从从零开始介绍Dockerfile如何使用,构建镜像。 Dockerhub官网地址:https://registry.hub.docke…

安防监控视频平台EasyCVR视频汇聚平台和税务可视化综合管理应用方案

一、方案概述 为了确保税务执法的规范性和高效性,国家税务总局要求全面推行税务系统的行政执法公示制度、执法全过程记录制度和重大执法决定法制审核制度。为此,需要全面推行执法全过程记录制度,并推进信息化建设,实现执法全过程的…

python爬虫实战(3)--爬取某乎热搜

1. 分析爬取地址 打开某乎首页,点击热榜 这个就是我们需要爬取的地址,取到地址某乎/api/v3/feed/topstory/hot-lists/total?limit50&desktoptrue 定义好请求头,从Accept往下的请求头全部复制,转换成json headers {Accep…

Linux TCP协议

传输层的协议主要有三个:TCP协议(可靠)、UDP协议(不可靠)和SCPT协议(不可靠)。 一、TCP协议的概念 TCP协议也称传输控制协议,是一种可靠的、面向连接的、基于字节流的传输层通信协…

DTC 19服务学习2

紧跟上篇 0x04 reportDTCSnapshotRecordByDTCNumber 通过DTC和快照序列来获取DTC快照记录。 适用以下假设: — 服务器支持存储给定 DTC 的两个 DTCSnapshot 记录的能力。 — 此示例假定是上一个示例的延续。 — 假设服务器请求服务器存储的 DTC 编号 123456 的两个…