☕ 第一章 Java开发入门

1.2 Java环境搭建

📄 一句话概括

装好 JDK 17、配好环境变量、在 cmd 里敲出两个版本号——厨房搭好,下一节就能炒第一盘菜(Hello World)。全程跟着步骤点,每一步都告诉你"看到什么算成功"。

⚠️ 动手前先看这里

这是全教材唯一的"装机课",也是新手劝退率最高的一节。别怕:所有步骤都验证过,出错的只有三种情况,第 6 节全给了对症药。卡住就对照第 6 节排错,不要删了重装。


1. 先搞懂:环境变量 Path 是什么

不搞懂这个,配环境变量就是盲人摸象。回忆计算机基础09 篇:程序都是存在硬盘上的 .exe 文件,运行 = 告诉系统去哪找到这个文件。

你在 cmd 里敲 java 回车时,Windows 做的事:

  1. 先在当前文件夹找有没有 java.exe —— 没有
  2. 翻开 Path 环境变量这份"花名册"(里面列着一串文件夹路径),从上到下挨个翻,看哪个文件夹里有 java.exe
  3. 找到了 → 运行;翻完都没找到 → 报错:'java' 不是内部或外部命令

所以配环境变量 = 把 JDK 的 bin 文件夹写进这份花名册,让系统在任何位置都能找到 java 工具。

为什么要两个变量?

💡 为什么不直接把完整路径写进 Path?

可以,但别。IDEA、Tomcat、Maven 等一堆软件都认 JAVA_HOME 这个别名——写成别名,将来升级 JDK 只改一处;写死完整路径,升级时要改 N 处。这是行业惯例,老老实实配两个。


2. 动手前记三条规矩

❗ 三条铁律
  1. 安装路径用默认的,别改。 默认路径全是英文,没有空格陷阱。自己乱改出问题的概率远大于好处。
  2. 只装 JDK,不用另装"公共 JRE"。 装机过程中如果问你要不要装单独的 JRE,取消勾选——1.1 篇讲过,JDK 里本来就含 JRE。
  3. 装完验证失败,先看第 6 节排错,再考虑重装。 重装是最后手段,90% 的问题是环境变量或没重开 cmd。

3. 第一步:下载 JDK 17(保姆式)

为什么选 JDK 17? 长期支持版(LTS),企业主流,教程通用。1.1 篇已说过:本课程全程用 17。

国内下载首选清华镜像(不用注册账号、速度快):

  1. 打开浏览器,输入:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/windows/
  2. 文件列表按修改时间倒序排(最新在最后/最上,注意看列标题),找文件名长这样的: OpenJDK17U-jdk_x64_windows_hotspot_17.0.XX_X.msi

    认三个关键词 - 17U —— 是 17 版 - jdk_x64_windows —— 64 位 Windows 版 - .msi 结尾 —— 安装包(双击就能装的)✅ 别下成 .zip 或 .spa 结尾的

    版本号 17.0.XX 小数点后面是几都无所谓,越新越好。

  3. 点它下载(约 160 MB,等等就好)。

备用:Oracle 官网 https://www.oracle.com/java/technologies/downloads/#java17 → Windows 标签 → x64 Installer。页面是英文的,但按钮位置一样。

❓ 怎么知道自己电脑是 64 位?

近十年买的电脑基本全是 64 位。不确定的话:右键"此电脑" → 属性 → 看"系统类型",写 64 位就下 x64。


4. 第二步:安装(保姆式,每步看点哪里)

双击下载好的 .msi 文件,然后:

步骤 屏幕上会看到 你要做的 成功的标志
① 欢迎界面 点 Next 进入下一步
② Custom Setup(关键!) 点 Add to PATH 左边的图标确认是"整个功能将安装…";再点 Set JAVA_HOME variable 左边的下拉图标 → 选 "整个功能将安装到本地硬盘上"(英文版:Entire feature will be installed…) 两个功能的图标都不带红叉
③ 确认页 点 Install 出现安装进度条
④ 弹出的 UAC 蓝色对话框 点 是 继续安装
⑤ 进度条跑完 点 Finish 安装窗口关闭
⚠️ 第 ② 步是全节成败的关键

默认状态下 Set JAVA_HOME 是不装的(图标带红叉 ×)。必须手动点它的下拉图标改成"整个功能安装"。如果这步忘了,直接跳到第 6 节的手动配置补上,不用重装。

顺手记住默认安装路径(第 ② 步界面上方能看到),长这样: C:\Program Files\Eclipse Adoptium\jdk-17.0.XX.X-hotspot


5. 第三步:验证(看到什么算成功)

  1. 按键盘 Win + R(Win 键 = 带窗户图标的那个),弹出小窗口
  2. 输入 cmd,按回车,弹出黑色命令行窗口
  3. 在闪烁的光标处输入下面这行,回车(-version 前面有个空格): java -version
  4. 再输入这行,回车: javac -version

看到什么算成功:

openjdk version "17.0.13" 2024-10-15
OpenJDK Runtime Environment Temurin-17.0.13+11 ...
OpenJDK 64-Bit Server VM Temurin-17.0.13+11 ...
javac 17.0.13
✅ 判断标准(就一条)

两条命令都不报错、都显示 17 开头的版本号 → ✅ 搭建完成,本节任务结束,直接去 1.3。 中间版本号是 17.0.几 无所谓,只要不是报错就行。

看到什么说明不对:

'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。

→ 别慌,这是最常见的错,对症药在第 6 节。


6. 排错专区:验证失败了怎么办

情况 A:'java' 不是内部或外部命令

两种可能,按顺序查:

可能 1:没重开 cmd。 环境变量改完后,已经开着的 cmd 窗口看不到新变量。把所有黑色窗口全关掉,重新 Win+R → cmd,再试一次。(光这一步就能解决一半人的问题)

可能 2:JAVA_HOME 真没配好(第 4 步忘了勾)。手动补配:

  1. 按键盘 Win 键,直接打字搜「编辑系统环境变量」,回车打开
  2. 弹出的"系统属性"小窗右下角,点「环境变量(N)...」按钮
  3. 下半栏"系统变量"区:
  4. 点「新建(N)...」→ 变量名填 JAVA_HOME,变量值填 JDK 安装目录(到 jdk-17.x.x-hotspot 这一级,不含 bin)→ 确定
  5. 在系统变量列表里找到 Path,双击打开 → 点「新建(N)」→ 填 %JAVA_HOME%\bin → 一路点「确定」「确定」「确定」(三个窗口都要点确定才保存)
  6. 关掉所有 cmd 重开,再验证一遍
📝 图形界面里 Path 是列表,不认识 `%JAVA_HOME%\bin`?

正常,它就是个"引用",保存时 Windows 会自己展开。编辑窗口里有"上移/下移"按钮,新加的条目不用挪,放在哪都能被找到(不涉及同名冲突)。

情况 B:java 有版本号,javac 却报错

说明你装的是 JRE 不是 JDK,或 Path 指错了目录。检查 JAVA_HOME 指向的文件夹里有没有 bin\javac.exe(打开文件管理器看一眼)。没有 → 装的是 JRE,回到第 3 步重下 .msi。

情况 C:java -version 和 javac -version 版本不一致

电脑上装过多个 JDK,Path 里旧的条目排在前面抢了先。cmd 里敲 where java 能列出所有 java.exe 的位置。处理:到 Path 里把 %JAVA_HOME%\bin 那条上移到最顶,重开 cmd。


7. 常见误区

⚠️ 误区 1:老教程让配 CLASSPATH,我要不要配?

不要。 JDK 6 以后的版本完全不认 CLASSPATH 了,配了也没用,反而容易埋雷。2005 年前的老教程残骸,见到直接跳过。

⚠️ 误区 2:JDK 装在"Program Files"这种带空格的路径会有问题吗?

没有。JDK 自己认得。真正危险的是中文路径和自己手动改出的奇怪路径——所以第 2 节说用默认路径。

⚠️ 误区 3:环境变量配好了,cmd 里还是不行?

八成是没重开 cmd。环境变量是 cmd 启动时读的,改完必须开个新窗口。这不是玄学,是 Windows 的工作方式。

⚠️ 误区 4:下载页有 msi、zip、pkg 一堆文件,随便下个?

不行。认准 .msi(Windows 安装包)。zip 是绿色免安装版(要手动配 Path,不适合第一课)、pkg 是 macOS 的、aarch64 是 ARM 芯片的——都和你无关。

⚠️ 误区 5:JDK 装完桌面上怎么没图标?

正常。JDK 是"后厨",全是命令行工具,没有桌面图标。它存在的标志是 cmd 里那两条版本号。


8. 本节自测

❓ Q1:Path 环境变量的作用,用一句话说清楚?

它是 Windows 的"程序花名册":在 cmd 敲一个命令时,系统按 Path 里列出的文件夹顺序挨个找对应的 .exe,找到才运行。配环境变量 = 把 JDK 的 bin 目录加进花名册。

❓ Q2:JAVA_HOME 和 Path 里的 %JAVA_HOME%\bin 各是什么关系?

JAVA_HOME 是 JDK 安装目录的别名;%...% 语法表示"取用这个别名",所以 %JAVA_HOME%\bin 展开后就是 JDK 安装目录下的 bin 子目录(java/javac 都住在那)。

❓ Q3:JDK 17 安装时,哪一步最容易漏?漏了会怎样?

Custom Setup 界面手动开启 Set JAVA_HOME variable(默认不装,图标带红叉)。漏了它,java -version 可能没问题(Add to PATH 默认是装的),但 IDEA 等软件找不到 JDK——补配见第 6 节情况 A。

❓ Q4:`java -version` 成功、`javac -version` 报"不是内部或外部命令",最可能的原因?

Path 里指向的是 JRE(只有 java.exe)而不是 JDK 的 bin(java、javac 都有)。检查 JAVA_HOME 是否指向真正的 JDK 目录。

❓ Q5:为什么改完环境变量必须重开 cmd 窗口?

环境变量在窗口启动时读入,之后不再刷新。老窗口记的还是旧花名册,只有新窗口才带着新变量出生。


9. 下一步学什么


10. 相关笔记

Java基础 #Java入门 #环境搭建 #JDK #环境变量 #第一章