0

0

如何查看并切换 Java 版本 JDK 多版本环境管理教程【方法】

星降

星降

发布时间:2026-01-27 14:58:02

|

853人浏览过

|

来源于php中文网

原创

推荐用/usr/libexec/java_home -V查macOS JDK列表,which java/javac+readlink或ls -l追溯真实路径,echo $JAVA_HOME确认环境变量;临时切换用export JAVA_HOME=...,长期配置写入~/.zshrc,多版本建议用SDKMAN!;IDE需单独设置Project SDK和Maven导入JDK,Maven/Gradle另有配置项。

如何查看并切换 java 版本 jdk 多版本环境管理教程【方法】

查看当前 Java 版本和 JDK 安装路径

终端里直接运行 java -version 只显示 JRE 运行时版本,不一定反映你实际在用的 JDK(比如 IDE 可能用的是另一套)。更可靠的方式是查 javajavac 的来源:

  • 运行 which javawhich javacmacOS/Linux)或 where java(Windows CMD)确认可执行文件位置
  • 接着用 readlink -f $(which java)(Linux)或 ls -l $(which java)(macOS)追溯到真实 JDK 根目录
  • 检查 $JAVA_HOME 环境变量:运行 echo $JAVA_HOME,它应指向某个 JDK 的根目录(如 /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

切换 JDK 版本的三种常用方式

不同场景下推荐不同方法,不是所有方式都通用:

  • 临时切换(当前终端有效):直接重设 JAVA_HOME 并刷新 PATH,例如:
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.20.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
    再验证 java -versionjavac -version 是否一致
  • Shell 配置文件切换(登录即生效):把 export JAVA_HOME=... 写进 ~/.zshrc(macOS Catalina+)或 ~/.bash_profile,但注意:改完要 source ~/.zshrc,且新终端才生效;多个 JDK 时建议写成函数封装,避免每次手动改
  • 使用 jdk-switcherSDKMAN!:SDKMAN! 更成熟,支持一键安装、列表、切换:
    sdk list java
    sdk use java 17.0.2-tem
    sdk default java 17.0.2-tem
    注意:它会接管 JAVA_HOMEPATH,和手动配置冲突,别混用

IDE 和构建工具不随终端切换?查这三处

即使终端里 java -version 正确,IntelliJ、Eclipse 或 Maven 仍可能用错 JDK —— 它们通常不读系统 JAVA_HOME

  • IDE 设置:IntelliJ → Preferences → Build, Execution, Deployment → Build Tools → Maven → Importing → JDK for importer;同时 Project SDK 要单独设(File → Project Structure → Project)
  • Maven 编译目标:检查 pom.xmlmaven-compiler-pluginsourcetarget,它只控制字节码级别,不决定编译器本身用哪个 JDK;真正起作用的是 MAVEN_OPTSmaven-toolchains-plugin
  • Gradle 项目:看 gradle.properties 是否有 org.gradle.java.home,或命令行传参:./gradlew build --no-daemon -Dorg.gradle.java.home=/path/to/jdk-11

Mac 上 /usr/libexec/java_home 是个关键工具

macOS 自带的 /usr/libexec/java_home 是定位 JDK 的权威方式,比硬编码路径更安全:

Figma
Figma

Figma 是一款基于云端的 UI 设计工具,可以在线进行产品原型、设计、评审、交付等工作。

下载

立即学习Java免费学习笔记(深入)”;

  • 列出所有已注册 JDK:/usr/libexec/java_home -V
  • 获取指定版本路径:/usr/libexec/java_home -v 17(匹配最接近的 17.x)
  • 配合切换:可以写成函数放进 ~/.zshrc
    jdk() {
    export JAVA_HOME=$(/usr/libexec/java_home -v "$1");
    export PATH=$JAVA_HOME/bin:$PATH;
    }
    然后用 jdk 11jdk 17 快速切换

注意:这个命令只识别通过官方 pkg 安装或符合 macOS JDK 目录规范的 JDK,手动解压的 tar.gz 包需先用 sudo ln -s 注册进 /Library/Java/JavaVirtualMachines/ 才能被发现。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

190

2023.06.14

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

795

2023.07.24

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

592

2023.11.02

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

167

2024.02.23

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

136

2024.02.23

eclipse设置中文全教程
eclipse设置中文全教程

本专题整合了eclipse设置中文相关教程,阅读专题下面的文章了解更多详细操作。

109

2025.10.10

eclipse字体放大教程
eclipse字体放大教程

本专题整合了eclipse字体放大教程,阅读专题下面的文章了解更多详细内容。

136

2025.10.10

eclipse左边栏不见了解决方法
eclipse左边栏不见了解决方法

本专题整合了eclipse左边栏相关教程,阅读专题下面的文章了解更多详细内容。

110

2025.10.15

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.9万人学习

Git 教程
Git 教程

共21课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号