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