从零开始—【Mac系统】MacOS配置Java环境变量

系统环境说明
Apple M1
macOS Ventura 版本13.5.2

1.下载JDK安装包

Oracle官网下载地址 JDK下载【注:推荐下载JDK8 Oracle官网JDK8下载】

关于JDK、JRE、JVM的关系说明

  • JDK(Java Development Kit,Java开发工具包) ,是整个JAVA的核心,包括JRE,很多Java工具(javac/java/jdb等)和Java基础类库

  • JRE(Java Runtime Environment Java运行环境) ,是 JDK 的子集

  • JVM(Java Virtual Machine,Java虚拟机), 是JRE的一部分。Java实现跨平台的核心部分,负责解释执行字节码文件,是可运行Java字节码文件的虚拟计算机

JDK、JRE、JVM 之间是什么关系, Java 平台标准中已经明确定义
Java1.8.*版本官方文档地址:https://docs.oracle.com/javase/8/docs/index.html

Oracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Development Kit (JDK) 8 and Java SE Runtime Environment (JRE) 8.↳
JDK 8 is a superset of JRE 8, and contains everything that is in JRE 8, plus tools such as the compilers and debuggers necessary for developing applets and applications. JRE 8 provides the libraries, the Java Virtual Machine (JVM), and other components to run applets and applications written in the Java programming language. Note that the JRE includes components not required by the Java SE specification, including both standard and non-standard Java components.
The following conceptual diagram illustrates the components of Oracle’s Java SE products:
JDK

2.双击安装JDK安装包

安装完成后,打开终端,输入

java -version

出现如下代码则为安装成功

java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)

3.配置环境变量

首先需要明确,有三个参数是需要配置的:JAVA_HOMEPATHCLASS_PATH

打开终端,输入

vi ~/.bash_profile

首次打开文件需要输入密码【自己电脑的密码】

用 Vim 打开环境文件后,按i进入插入模式,输入以下内容

#Setting PATH for JAVA 1.8
JAVA_HOME="/library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home"
PATH="$JAVA_HOME/bin:$PATH:"
CLASS_PATH="$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar"
export JAVA_HOME
export PATH
export CLASS_PATH

特别注意:JAVA_HOME 这一行路径中,我这里输入的【jdk-1.8.jdk】,你需要根据你自己下载的JDK版本名称进行替换,否则路径是不通的。
查看自己JDK文件夹名称的方法:打开访达(Finder),按Command + Shift + G,输入 /Library/Java/JavaVirtualMachines,回车键确认,即可看到。

.bash_profile文件内容输入完成后,按 Esc 退出 Vim 编辑模式,接着输入:wq保存并关闭文件。

4.测试是否安装成功

  • 打开终端,输入java,出现
用法: java [-options] class [args...](执行类)java [-options] -jar jarfile [args...](执行 jar 文件)
其中选项包括:-d32	  使用 32 位数据模型 (如果可用)-d64	  使用 64 位数据模型 (如果可用)-server	  选择 "server" VM默认 VM 是 server,因为您是在服务器类计算机上运行。-cp <目录和 zip/jar 文件的类搜索路径>-classpath <目录和 zip/jar 文件的类搜索路径>: 分隔的目录, JAR 档案和 ZIP 档案列表, 用于搜索类文件。-D<名称>=<>设置系统属性-verbose:[class|gc|jni]启用详细输出-version      输出产品版本并退出-version:<>警告: 此功能已过时, 将在未来发行版中删除。需要指定的版本才能运行-showversion  输出产品版本并继续-jre-restrict-search | -no-jre-restrict-search警告: 此功能已过时, 将在未来发行版中删除。在版本搜索中包括/排除用户专用 JRE-? -help      输出此帮助消息-X            输出非标准选项的帮助-ea[:<packagename>...|:<classname>]-enableassertions[:<packagename>...|:<classname>]按指定的粒度启用断言-da[:<packagename>...|:<classname>]-disableassertions[:<packagename>...|:<classname>]禁用具有指定粒度的断言-esa | -enablesystemassertions启用系统断言-dsa | -disablesystemassertions禁用系统断言-agentlib:<libname>[=<选项>]加载本机代理库 <libname>, 例如 -agentlib:hprof另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help-agentpath:<pathname>[=<选项>]按完整路径名加载本机代理库-javaagent:<jarpath>[=<选项>]加载 Java 编程语言代理, 请参阅 java.lang.instrument-splash:<imagepath>使用指定的图像显示启动屏幕
有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
  • 输入javac,出现
用法: javac <options> <source files>
其中, 可能的选项包括:-g                         生成所有调试信息-g:none                    不生成任何调试信息-g:{lines,vars,source}     只生成某些调试信息-nowarn                    不生成任何警告-verbose                   输出有关编译器正在执行的操作的消息-deprecation               输出使用已过时的 API 的源位置-classpath <路径>            指定查找用户类文件和注释处理程序的位置-cp <路径>                   指定查找用户类文件和注释处理程序的位置-sourcepath <路径>           指定查找输入源文件的位置-bootclasspath <路径>        覆盖引导类文件的位置-extdirs <目录>              覆盖所安装扩展的位置-endorseddirs <目录>         覆盖签名的标准路径的位置-proc:{none,only}          控制是否执行注释处理和/或编译。-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程-processorpath <路径>        指定查找注释处理程序的位置-parameters                生成元数据以用于方法参数的反射-d <目录>                    指定放置生成的类文件的位置-s <目录>                    指定放置生成的源文件的位置-h <目录>                    指定放置生成的本机标头文件的位置-implicit:{none,class}     指定是否为隐式引用文件生成类文件-encoding <编码>             指定源文件使用的字符编码-source <发行版>              提供与指定发行版的源兼容性-target <发行版>              生成特定 VM 版本的类文件-profile <配置文件>            请确保使用的 API 在指定的配置文件中可用-version                   版本信息-help                      输出标准选项的提要-A关键字[=]                  传递给注释处理程序的选项-X                         输出非标准选项的提要-J<标记>                     直接将 <标记> 传递给运行时系统-Werror                    出现警告时终止编译@<文件名>                     从文件读取选项和文件名

至此,Java环境变量已配置成功。

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

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

相关文章

【完全二叉树魔法:顺序结构实现堆的奇象】

本章重点 二叉树的顺序结构堆的概念及结构堆的实现堆的调整算法堆的创建堆排序TOP-K问题 1.二叉树的顺序结构 普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构…

SpringMVC自定义注解---[详细介绍]

一&#xff0c;对于SpringMVC自定义注解概念 是一种特殊的 Java 注解&#xff0c;它允许开发者在代码中添加自定义的元数据&#xff0c;并且可以在运行时使用反射机制来获取和处理这些信息。在 Spring MVC 中&#xff0c;自定义注解通常用于定义控制器、请求处理方法、参数或者…

3、靶场——Pinkys-Place v3(3)

文章目录 一、获取flag41.1 关于SUID提权1.2 通过端口转发获取setuid文件1.3 运行pinksecd文件1.4 利用nm对文件进行分析1.5 构建payload1.6 Fire 二、获取flag52.1 生成ssh公钥2.2 免密登录ssh2.3 以pinksecmanagement的身份进行信息收集2.4 测试程序/usr/local/bin/PSMCCLI2.…

基于matlab实现的额 BP神经网络电力系统短期负荷预测未来(对比+误差)完整程序分享

基于matlab实现的额 BP神经网络电力系统短期负荷预测 完整程序&#xff1a; clear; clc; %%输入矢量P&#xff08;15*10&#xff09; P[0.2452 0.1466 0.1314 0.2243 0.5523 0.6642 0.7105 0.6981 0.6821 0.6945 0.7549 0.8215 0.2415 0.3027 0; 0.2217 0.1581 0.1408 0.23…

JS-ECharts-前端图表 多层级联合饼图、柱状堆叠图、柱/线组合图、趋势图、自定义中线、平均线、气泡备注点

本篇博客背景为JavaScript。在ECharts在线编码快速上手&#xff0c;绘制相关前端可视化图表。 ECharts官网&#xff1a;https://echarts.apache.org/zh/index.html 其他的一些推荐&#xff1a; AntV&#xff1a;https://antv.vision/zh chartcube&#xff1a;https://chartcub…

【力扣1464】数组中两元素的最大乘积

&#x1f451;专栏内容&#xff1a;力扣刷题⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、题目描述二、题目分析1、排序2、最值模拟 一、题目描述 题目链接&#xff1a;数组中两元素的最大乘积 给你一个整数数…

基于SSM的社区志愿者招募系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

ERR_CONNECTION_REFUSED等非标准的HTTP错误状态码原因分析和解决办法

文章目录 一、DNS Resolution Failed1&#xff0c;DNS服务器故障2&#xff0c;DNS配置错误3&#xff0c;DNS劫持4&#xff0c;域名过期-5&#xff0c;其他网络问题 二、ERR_CONNECTION_REFUSED-"ERR_CONNECTION_REFUSED" 错误可能有多种原因 三、ERR_SSL_PROTOCOL_ER…

组队竞赛(int溢出问题)

目录 一、题目 二、代码 &#xff08;一&#xff09;没有注意int溢出 &#xff08;二&#xff09;正确代码 1. long long sum0 2. #define int long long 3. 使用现成的sort函数 一、题目 二、代码 &#xff08;一&#xff09;没有注意int溢出 #include <iostream&g…

CoreData 在新建或更新托管对象中途发生错误时如何恢复如初?

问题现象 在 CoreData 支持的 App 中,当我们新建或更新托管对象到一半突然出现错误时,应该禁止任何已发生的改变被写入内存或数据库中。不过,有时仍会出现始料未及的“意外”: 从上面的演示可以看到:即使在 Item 对象新建和更新途中出现错误后不执行后续的保存操作,但界…

追光者的梦

追光者的梦 鸿蒙中我茫然于世&#xff0c;你是钻入我心里的那束光 我所有的梦想都是和你热烈的拥抱 没有追到你时&#xff0c;我一直在路上 追到你时&#xff0c;我的人生就被你点燃 ——致所有的追光者 合肥先进光源国家重大科技基础设施项目及配套工程启动会刚开过&…

重新认识架构—不只是软件设计

前言 什么是架构&#xff1f; 通常情况下&#xff0c;人们对架构的认知仅限于在软件工程中的定义&#xff1a;架构主要指软件系统的结构设计&#xff0c;比如常见的SOLID准则、DDD架构。一个良好的软件架构可以帮助团队更有效地进行软件开发&#xff0c;降低维护成本&#xff0…

RestTemplate:简化HTTP请求的强大工具

文章目录 什么是RestTemplateRestTemplate的作用代码示例 RestTemplate与HttpClient 什么是RestTemplate RestTemplate是一个在Java应用程序中发送RESTful HTTP请求的强大工具。本文将介绍RestTemplate的定义、作用以及与HttpClient的对比&#xff0c;以帮助读者更好地理解和使…

建构居住安全生态,鹿客科技2023秋季发布会圆满举办

9月20日&#xff0c;以「Lockin Opening」为主题的2023鹿客秋季发布会在上海隆重举办&#xff0c;面向居住安全领域鹿客带来了最新的高端旗舰智能锁新品、多眸OS1.0、Lockin Care服务以及全联接OPENING计划。此外&#xff0c;现场还邀请了国家机构、合作伙伴、技术专家等业界同…

什么是单点登录?什么又是 OAuth2.0?

对于刚开始接触身份认证的朋友对于单点登录&#xff0c;OAuth2.0&#xff0c;JWT 等等会有诸多疑惑&#xff0c;甚至还会问既然有了 JWT 还拿 单点登录做什么&#xff1f;还拿 OAuth2.0 做什么&#xff1f; 不知做过身份认证的 xdm 看到这里是不是感觉这句话有点迷&#xff1f…

IBMMQ 安装教程(IBM WebSphere MQ 安装教程)- 及 IBMMQ 服务器搭建教程

文章目录 前言一、下载二、安装1. 解压&#xff0c;运行 Setup.exe 文件。2. 启动 IBM WebSphere MQ 安装程序。3. 接受用户协议。4. 选择定制安装。5. 更改安装目录。6. 下一步。7. 下一步。8. 下一步。9. 点击安装。10. 等待安装&#xff0c;完成。11. 准备安装 WebSphere MQ…

以太坊代币标准ERC20、ERC721

两个概念 ERC(Ethereum Request for Comment) 以太坊意见征集稿EIP(Ethereum Improvement Proposals)以太坊改进提案 ERC和EIP用于使得以太坊更加完善&#xff1b;在ERC中提出了很多标准&#xff0c;用的最多的标准就是它的Token标准; 有哪些标准详细见https://eips.ethereum…

学会使用Git 和 GitHub

Git 和 GitHub 都是程序员每天都要用到的东西 —— 前者是目前最先进的 版本控制工具&#xff0c;拥有最多的用户&#xff0c;且管理着地球上最庞大的代码仓库&#xff1b;而后者是全球最大 同性交友 代码托管平台、开源社区。 在没有这两个工具时&#xff0c;编程可能是这样的…

学习记忆——宫殿篇——记忆宫殿——记忆桩——单间+客厅+厨房+厕所+书房+院子

文章目录 单间客厅厨房厕所书房院子 单间 水壶 水龙头 香皂 果汁机 电视 门空间 花 红酒 葡萄 不锈钢 白毛沙发 彩色垫子 吉他 皮椅 挂画 风扇 糖抱枕 盒子 花土 水晶腿 衣柜 笔 三环相框 水壶 壁挂 台灯 被 网球拍 足球 抽屉 闹钟 蝴蝶 心 斑马 三轮车 音响 椅子 碗 玩偶 烟灰…

C/C++运算符超详细讲解(系统性学习day5)

目录 前言 一、运算符的概念与分类 二、算术运算符 三、关系运算符 四、逻辑运算符 五、赋值运算符 六、运算符的优先级 总结 前言 本篇文章是对运算符的具体讲解。 一、运算符的概念与分类 概念&#xff1a; 运算符就是一种告诉编译器执行特定的数学或逻辑操作的符…