跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

在Java中如何安装JDK与JRE区别_开发环境配置解析

开发 Java 程序必须安装 JDK 而非 JRE,因 JDK 包含 javac 等开发工具,JRE 仅用于运行字节码;常见错误包括 javac 报“command not found”、IDE 提示“No JDK specified”及 Maven 编译失败。 JDK 和 JRE 到底该装哪个 开发 Java 程序必须装
JDK
,不是
JRE
;
JRE
只负责运行已编译的
.class
文件,不包含
javac
、
javadoc
、
jdb
等开发工具。如果你装了
JRE
后执行
javac
报错 “command not found” 或 “不是内部或外部命令”,基本就是只装了
JRE
。 常见错误现象: IDE(如 IntelliJ 或 VS Code)提示 “No JDK specified” 或 “Cannot resolve symbol”
java -version
成功,但
javac -version
失败 Maven 编译时报错:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:... Compilation failure
下载与安装 JDK 的关键动作 去官网下载时注意三点:选对版本号(如
21.0.4
)、选对 操作系统 (Windows/ mac OS/Linux)、选对架构(
x64
还是
ARM64
)。Mac M1/M2 用户务必选
aarch64
版本,否则
java -version
会报错
Bad CPU type in executable
。 安装后验证是否生效: 立即学习 “ Java免费学习笔记(深入) ”; Windows:打开新终端,运行
where javac
,输出路径应和
JAVA_HOME
一致 macOS/Linux:运行
which javac
和
readlink -f $(which java)
,确认指向
jdk-xx/bin/java
而非系统自带的
/usr/bin/java
统一检查:
echo $JAVA_HOME
(Linux/macOS)或
echo %JAVA_HOME%
(Windows),值必须是 JDK 根目录(不含
/bin
) JAVA_HOME 配置最容易出错的地方
JAVA_HOME
必须指向 JDK 安装根目录,比如
/Library/Java/JavaVirtualMachines/jdk-21.0.4.jdk/Contents/Home
(macOS),不是
.../Home/bin
,也不是
/usr/libexec/java_home
的输出结果本身(那是命令,不是路径)。 通义灵码 windows版 通义灵码 0.8.0 是一款面向智能开发场景的轻量级集成开发环境。该版本聚焦效率与协作,提供代码智能补全、实时语法检查与版本管理功能,并优化了插件扩展能力,适配主流编程语言。0.8.0 版本进一步提升了启动速度与界面响应流畅度,内置任务运行器与调试工具,帮助开发者更快捷地完成项目构建与问题定位。简洁、现代的设计让初学者与专业团队都能快速上手。 下载 不同场景下配置方式不同: macOS/Linux:写入
~/.zshrc
(或
~/.bash_profile
):
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
——注意用命令动态获取比硬 编码 路径更可靠 Windows:系统 环境变量 中新建
JAVA_HOME
,值为
C:\Program Files\Java\jdk-21.0.4
;再编辑
Path
,追加
%JAVA_HOME%\bin
IDE 需单独设置:IntelliJ → Preferences → Build → SDKs;VS Code 的
java.home
设置项必须填完整路径,不能只写
jdk-21
多个 JDK 共存时怎么切换 不用卸载旧版。关键是让
java
和
javac
指向当前要用的版本,而不是靠改
JAVA_HOME
单点控制。 推荐做法: macOS/Linux:用
/usr/libexec/java_home -V
查看已安装列表,再用
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
切换;可封装为 alias(如
jdk17
) Windows:用
setx JAVA_HOME "C:\path\to\jdk-17"
临时改(需重启终端),或借助工具如
jabba
/
SDKMAN!
IDE 内部 SDK 设置优先级高于系统
JAVA_HOME
,所以项目级 JDK 选错时,即使终端里
java -version
正确,编译仍可能失败 真正容易被忽略的是:IDE 启动时读取的是它自己的启动环境,不是你当前终端的 shell 环境。Mac 上从 Dock 启动 IntelliJ,默认没加载
~/.zshrc
,
JAVA_HOME
为空——这时必须在 IDE 内显式指定 SDK,不能依赖系统变量。

相关文章