目录

  1. 检查是否已安装 Java
  2. 安装 Java(JDK)
  3. 设置 JAVA_HOME 环境变量
  4. 安装 IntelliJ IDEA
  5. 配置 IntelliJ IDEA 使用 JDK
  6. 验证和测试环境是否成功

1. 检查是否已安装 Java

打开终端(Terminal),输入:

java -version

如果提示找不到命令或 Java 版本信息过旧,说明需要安装新的 JDK。


2. 安装 Java(JDK)

方法一:使用 Homebrew 安装(推荐)

  1. 查看可安装的 OpenJDK 版本:
brew search openjdk
  1. 安装某个版本(例如 JDK 17):
brew install openjdk@17
  1. 安装完成后,Homebrew 会提示你添加路径。通常是类似:
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
  1. 设置环境变量:

~/.zshrc 文件中添加(适用于 Zsh,macOS 默认):

export JAVA_HOME="/opt/homebrew/opt/openjdk@17"
export PATH="$JAVA_HOME/bin:$PATH"

保存后运行:

source ~/.zshrc
  1. 再次确认版本:
java -version

方法二:从 Oracle 官网下载安装包

  1. 打开官网:https://www.oracle.com/java/technologies/javase-downloads.html

  2. 下载 macOS 版本(.dmg),安装后系统会自动配置环境。


3. 设置 JAVA_HOME 环境变量(可选但推荐)

如果你用的是 Oracle JDK,也可以设置:

export JAVA_HOME=$(/usr/libexec/java_home)

添加到 ~/.zshrc 后运行:

source ~/.zshrc

4. 安装 IntelliJ IDEA

方法一:通过 Homebrew Cask 安装(推荐)

brew install --cask intellij-idea

等待安装完成。

方法二:官网下载

  1. 访问:https://www.jetbrains.com/idea/download/
  2. 选择 macOS 版本,下载 .dmg 安装包
  3. 安装并拖入“应用程序”目录

5. 配置 IntelliJ IDEA 使用 JDK

  1. 启动 IntelliJ IDEA

  2. 创建或打开项目

  3. 打开菜单:File > Project Structure > SDKs

  4. 点击 + 添加 JDK,路径选择为:

    • 如果用 Homebrew 安装的是 OpenJDK 17,路径可能是:

      /opt/homebrew/opt/openjdk@17
      
    • 如果用 Oracle 安装,则可以使用:

      /Library/Java/JavaVirtualMachines/
      
  5. 添加后,在 Project 页签中设置当前项目使用此 JDK。


6. 验证安装是否成功

在终端测试 Java

java -version
javac -version

在 IntelliJ IDEA 中创建 Java 程序

  1. File > New > Project > Java
  2. 编写简单的 Java 程序:
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, Java on macOS!");}
}
  1. 点击运行,确认输出成功。

参考链接

  • OpenJDK 官网:https://openjdk.org
  • Oracle JDK 官网:https://www.oracle.com/java/technologies/javase-downloads.html
  • IntelliJ IDEA 官网:https://www.jetbrains.com/idea/
  • Homebrew 官网:https://brew.sh

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

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

相关文章

基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层

在上篇中,我们已经搭建好了框架的基本雏形,但只是引入了页面层、用例层的思想,我们在实际使用中会发现,如果我们很多的用例需要很多前置工作,这些前置工作又有可能涉及到多个页面,那么我们在维护的时候就会…

uniapp ruoyi-app 中使用checkbox 无法选中问题

<view class"flex align-center"> <checkbox-group> <label> <checkbox value"cb" checked"true" /> 记住密码 </label> </checkbox-group> </view>colorui.css 文件中注释掉两处即可全局搜索…

如何快速学习GO语言

https://go.dev/tour/welcome/1 这个是官方的引导&#xff0c;很实用基本重点内容都涵盖了&#xff0c;并且可以一边学习一边练习&#xff0c;非常好用 简单介绍一下&#xff1a; Hello, 世界 欢迎访问 Go 编程语言教程。 本教程分为几个模块&#xff0c;点击本页左上角的 …

AI 产品经理必看:神秘技术架构图如何打通跨团队沟通壁垒?

​ 你好&#xff0c;我是 三桥君 引言 在AI产品的开发过程中&#xff0c;技术架构图是连接业务需求与技术实现的桥梁。然而&#xff0c;许多AI产品经理常常面临以下挑战&#xff1a;研发团队认为需求描述不清晰&#xff0c;业务团队与技术团队沟通不畅&#xff0c;技术选型时…

【科研绘图系列】R语言绘制解剖图

文章目录 介绍加载R包数据下载导入数据数据预处理画图系统信息参考介绍 【科研绘图系列】R语言绘制解剖图 加载R包 # install.packages("devtools") # library(devtools) # devtools::install_github("jespermaag/gganatogram")library(gganatogram) li…

【unity编辑器开发与拓展EditorGUILayoyt和GUILayoyt】

EditorGUILayout 与 GUILayout 的核心区别及使用场景详解 一、对比表特性GUILayoutEditorGUILayout命名空间UnityEngineUnityEditor使用场景运行时 UI 编辑器扩展仅限编辑器扩展控件风格基础游戏风格&#xff08;无编辑器优化&#xff09;原生 Unity 编辑器风格布局复杂度基础…

【数据结构】8. 二叉树

文章目录一、树的概念及结构1、树的概念2、树的相关概念3、树的表示4、树的实际运用二、二叉树的概念及结构1、二叉树的概念2、特殊的二叉树3、二叉树的性质4、二叉树的存储结构三、二叉树的顺序结构及实现1、二叉树的顺序结构2、堆的概念及结构3、堆的实现0&#xff09;准备工…

Spring MVC中异常处理

1.全局异常处理1.1什么是全局异常处理器全局异常处理器是SpringMVC框架中的一种异常处理机制&#xff0c;用于统一处理由控制器抛出的异常。全局异常处理器可以帮助我们捕获和处理控制器中的异常&#xff0c;并且根据不同的异常类型进行不同的处理操作&#xff0c;从而保障应用…

imx6ull-系统移植篇2—— U-Boot 命令使用(上)

目录 前言 U-Boot 命令 help 信息查询命令 bdinfo printenv version 环境变量操作命令 setenv 和 saveenv 修改环境变量 新建环境变量 删除环境变量 内存操作命令 md nm mm mw cp cmp 网络操作命令 ping 命令 dhcp 命令 nfs 命令 tftp 命令 EMMC 和 S…

vector之动态二维数组的底层

引言&#xff1a;在计算机编程领域&#xff0c;二维动态数组是一种能够在程序运行期间动态调整其大小的二维数组数据结构。它与静态二维数组的关键区别在于&#xff0c;静态二维数组在编译时就需要确定其大小&#xff0c;而二维动态数组的大小可以在程序运行过程中根据实际需求…

第十六天,7月10日,八股

1、mybatis的延迟加载需要时才加载关联对象&#xff0c;而不是查询主对象时&#xff0c;立刻加载所有关联对象&#xff0c;这样可以提高查询性能并减少不必要的数据库访问&#xff0c;例如&#xff1a;一个订单表包含着商品列表&#xff08;一对多&#xff09;&#xff0c;当查…

CSS中的Element语法

1.1 Element语法1.1.1 案例 1. 快速生成10个div,并且每个div里面是从1到10的内容2.生成一个div标签&#xff0c;类名为one,并且同时生成一个id为first的p标签1.1.2 快速生成CSS样式语法 CSS基本采取简写形式即可 比如w22 按住tab键 可以生成 width:200px比如lh26px 按住tab键 可…

Go从入门到精通(21) - 一个简单web项目-添加swagger文档

Go从入门到精通(20)-一个简单web项目-服务搭建 文章目录Go从入门到精通(20)-一个简单web项目-服务搭建前言前期准备为API 添加 Swagger 文档1.安装依赖2.添加 Swagger 注释main.goapp.goapi.gopublic_handler.goauth_handler.gocommon_constant.gocommon_dto.gotoken_utils.go3…

自动驾驶环境感知:天气数据采集与融合技术实战

天气与我们日常各类生活场景密不可分&#xff0c;在驾驶场景里当车主发动汽车准备驶向目的地时&#xff0c;窗外的阴晴或许只是直观感受&#xff0c;而真正影响驾驶安全与行程效率的&#xff0c;可能是几公里外的突发暴雨、桥面的结冰预警&#xff0c;或是前方路段的强侧风等级…

基于svga+uniapp的微信小程序动画组件开发指南

lottie动画指南 效果 概述 本项目使用 svgaplayer.weapp.js 库来实现 SVGA 动画播放功能&#xff0c;支持在微信小程序、H5 等多端环境下播放高质量的矢量动画。SVGA 是一种跨平台的开源动画格式&#xff0c;具有文件小、渲染性能高的特点。 技术栈 核心库: svgaplayer.wea…

数据结构与算法——计算直线的交点数

前言&#xff1a; 这是之前做的一道笔试题&#xff0c;当时没写出来烦恼很久&#xff0c;这次记录一下。 题目链接&#xff1a; Dotcpp--题目 1174: 计算直线的交点数 参考文章&#xff1a; CSDN--槐阳7--计算直线的交点数 题目&#xff1a; 解题思考&#xff1a; 在当时…

大模型及agent开发6 OpenAI Assistant API 高阶应用 - 流式输出功能

1.Assistant API 的主要优点&#xff1a; 减少编码工作量、自动管理上下文窗口、安全的访问控制、工具和文档的轻松集成 本节讲应用设计和性能流式输出&#xff1a;借助流式输出&#xff0c;可以让应用程序实时处理和响应用户输入。具体来说&#xff0c;这种技术允许数据在生成…

React Native安卓刘海屏适配终极方案:仅需修改 AndroidManifest.xml!

&#x1f4cc; 问题背景在 React Native 开发中&#xff0c;我们经常会遇到安卓设备刘海屏&#xff08;Notch&#xff09;适配问题。即使正确使用了 react-native-safe-area-context 和 react-navigation&#xff0c;在一些安卓设备&#xff08;如小米、华为、OPPO 等&#xff…

Spring Boot整合MyBatis+MySQL实战指南(Java 1.8 + 单元测试)

一、环境准备 开发工具&#xff1a;IntelliJ IDEA 2023.1 JDK 1.8.0_382 Maven3.6.3数据库&#xff1a;MySQL 8.0.21依赖版本&#xff1a;<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifact…

游戏开发日记

如何用数据表来储存&#xff0c;位置坐标&#xff08;XYZ&#xff09;&#xff1a;决定了对象在世界中的摆放资源ID / 图片URL&#xff1a;决定了使用什么模型或贴图事件ID / 特效&#xff1a;是否触发某些事件&#xff08;例如点击、交互&#xff09;逻辑索引&#xff08;Grid…