
简介面向 Windows 64 位系统上的 Java 开发者与运行需求人员这份 JDK 18.0.1 官方压缩包提供了编译、运行、调试与监控的一整套工具链内置 javac 编译器、JRE 运行时、javadoc 文档生成器、jdb 调试器及 JMC 诊断分析功能适用于企业应用、Web 服务和本地学习等多类场景帮助快速搭建可靠的 Java 开发环境。压缩包整体约 178.89MB共 486 个文件以动态链接库dll、模块jmod、可执行程序exe以及各类许可证license为主要类型同时包含少量源码、配置和策略文件整体目录结构清晰解压后即可配合 JAVA_HOME 与 PATH 配置直接使用。作为维护性更新该版本对已知问题进行了修复并在性能与安全方面有所增强适合需要稳定工具链的开发者离线部署或升级现有 JDK。目前已有 387 人学习/下载它由 lipu415 分享对于希望省去在线下载等待、快速获取完整官方 Windows 64 位 JDK 的开发者而言是一份实用且可靠的资源包。 先把结论放在最前面如果你下载的是“JDK-18.0.1-windows-64”这个包那对应的就是官方发布的 JDK 18.0.1 版本Windows 64 位系统用的安装包。JDK 18 属于非长期支持版本2022 年 3 月发布18.0.1 是当年 4 月出的安全补丁版理论上只维护 6 个月。现在很多教程直接带人装最新 LTS但仍有不少老项目、旧工具链、特定网课教材会要求装 18.0.1所以这篇把下载、安装、环境变量、多版本共存、常见坑一次讲清楚适合刚接触 Java 的新手也适合需要在 Windows 上做多版本 JDK 切换的老手。1. 先说清楚JDK 18.0.1 到底是个什么版本1.1 版本定位非 LTS 的过渡版本JDK 18 发布于 2022 年 3 月 22 日18.0.1 是次月4 月 19 日发布的紧急补丁版本主要修复了安全漏洞和部分回归问题。Oracle 的版本策略是每半年一个大版本JDK 18 属于短期支持版本支持周期只有 6 个月随后就被 JDK 19 取代。长期支持版本LTS是 8、11、17、21 这些。JDK 18 恰好卡在 17 和 21 之间属于“过渡版本”。那为什么还有人要找 18.0.1常见情况是某些课程、教材、老项目明确锁定了 18 版本或者某些云平台、持续集成脚本里指定的镜像是18.0.1再比如部分开源框架在 2022 年那段时间出现了只适配到 JDK 18 的依赖问题升级到 19 反而会报错。这种情况不少见所以“JDK-18.0.1-windows-64”这个包其实还有大量使用场景。1.2 值得知道的几个新特性虽然 18 是个过渡版本但它引入了几个很重要的变化其中一部分影响了后续的 LTS 版本JEP 400默认 UTF-8。从 JDK 18 开始Java API 默认文件编码由系统区域设置改为 UTF-8。在 Windows 中文系统上以前默认是 GBK现在直接是 UTF-8这解决了很多中文乱码问题但也意味着某些依赖本地编码老项目切换到 18 后反而会出现编码变化。JEP 408简易 Web 服务器。JDK 自带了一个jwebserver命令行工具可以一条命令起一个静态文件服务器调试前端或发布文档很方便。JEP 413Java API 文档中的代码片段。snippet注解出现写文档时可以直接嵌入代码片段并做语法校验。JEP 416用方法句柄重新实现核心反射。这是底层改动用户基本感知不到但提升了反射调用的安全性。JEP 417/419Vector API 和外部函数与内存 API孵化阶段。这两个是后续 JDK 21 等版本正式功能的前身为高性能计算和调用本地代码做准备。对普通开发者来说日常写代码最明显的感受就是“默认 UTF-8”这条。如果你以前在 Windows 上用FileReader读中文文件经常乱码换到 18 后体验会好一些。1.3 谁适合装 18.0.1谁不建议碰适合装的情况项目构建脚本里锁定了18、使用某些 2022 年快照版本框架、完全按老教程学习且不想因版本差异踩坑。不适合的情况新项目开荒直接选 17 或 21 LTS 更省心依赖大量第三方库的老项目也不要盲目从 8/11 升到 18——很多库当时还没有适配。注意JDK 18 在 2022 年 9 月之后就停止公开更新会有安全漏洞风险。生产环境尽量别用个人学习、本地开发、临时复现问题没关系。2. 下载前先弄清楚Windows 64 位对应的 JDK 包怎么选2.1 Oracle JDK 还是 OpenJDK 发行版“JDK-18.0.1-windows-64”这个名字最直接联想到的是 Oracle 官网的 Windows 64 位安装包。Oracle JDK 18 使用 Oracle 的“Oracle No-Fee Terms and Conditions”NFTC许可协议个人开发、学习、测试免费生产环境商用要看具体条款。很多人一听到“Oracle 收费”就跑了其实 18 这个授权门槛不算高但免得惹麻烦我个人更多推荐用 OpenJDK 发行版。常见的 OpenJDK 发行版发行版维护方特点Adoptium TemurinEclipse 基金会社区活跃构建规范推荐首选Microsoft Build of OpenJDK微软更新及时Windows 上兼容性好Amazon Corretto亚马逊长期支持云环境部署稳妥Azul ZuluAzul多平台支持好认证齐全如果你只是想在 Windows 上自己跑跑代码、学学 Java优先选 Adoptium Temurin它在官方下载页有OpenJDK 18.0.1_windows_x64_bin.zip或.msi格式。虽然文件名和 Oracle 的“JDK-18.0.1-windows-64”不完全一样但装好的版本号一模一样不影响使用。2.2 安装包格式MSI 还是 ZIPWindows 上常见两种格式MSI 安装器双击安装自动写注册表默认还会帮你配好JAVA_HOME和PATH适合不想手工碰环境变量的新手。但它会装到C:\Program Files\下路径里带空格某些老脚本处理起来会麻烦。ZIP 绿色版解压即用不需要安装但必须手动配置环境变量。优点是不写注册表可以同时保留多个版本想换版本时直接改环境变量指向就行。适合需要多版本切换、以及不想污染系统的用户。官方下载页会让你选“Windows x64 MSI Installer”或“Windows x64 ZIP”。如果你下载的包名后缀是.msi那就是安装版如果是.zip就是免安装版。2.3 官网下载很容易迷路怎么找到 18.0.1Oracle 官网首页的下载页只展示最新版本比如 JDK 21 或更高jdk-18.0.1这种历史版本藏在“Java Archive”里。操作路径是oracle.com/java/technologies/downloads/→ 页面底部找“Java Archive” → 选择“Java SE 18 (18.0.1)”→ 接受许可协议 → 选Windows x64 Installer或Windows x64 ZIP。这一步需要注册并登录 Oracle 账号否则会跳转到登录页。下载速度慢的话可以换 Adoptium 的 GitHub Releases 页面一般速度和稳定性反而更好。3. 安装实操从双击到 java -version3.1 MSI 安装版的操作步骤双击jdk-18.0.1_windows-x64_bin.msi进入安装向导选择安装目录。我建议改成D:\Java\jdk-18.0.1避免系统盘空间和中文路径问题。安装期间可以选择“Public JRE”是否安装。其实 JDK 里自带私有 JREPublic JRE 只是额外注册一个系统公共运行时大多数情况下不需要勾选因为 IDE 会直接找JAVA_HOME。完成安装后验证一下是否成功。打开新的命令提示符输入java -version javac -version如果输出类似的版本信息说明安装成功java version 18.0.1 2022-04-19 Java(TM) SE Runtime Environment (build 18.0.110) Java HotSpot(TM) 64-Bit Server VM (build 18.0.110, mixed mode, sharing)注意安装 MSI 版时Oracle 安装器通常会自动把JAVA_HOME和PATH写进系统环境变量。但如果你在安装时取消了某些选项或者改到了自定义目录建议按第 4 节手动核对一遍。很多“装好了还是找不到 java”的问题都是环境变量没生效导致的。3.2 ZIP 免安装版怎么配置ZIP 版的做法是解压到固定目录例如D:\Java\jdk-18.0.1。注意目录层级解压后要能看到bin、conf、include这些文件夹才算正确位置。如果解压多了一层jdk-18.0.1\jdk-18.0.1\bin后面配环境变量时容易写错路径。打开系统环境变量设置Win R输入sysdm.cpl→ “高级” → “环境变量”。在“系统变量”中新建一个变量变量名JAVA_HOME变量值D:\Java\jdk-18.0.1找到Path变量编辑新建一行加%JAVA_HOME%\bin点确定重开一个命令提示符执行java -version验证。ZIP 版本质上没有“安装”动作核心就是解压和三行环境变量配置。好处是以后想保留多个 JDK 版本时只需要准备多个解压目录切换时改JAVA_HOME指向就行。4. 环境变量为什么明明装了还报“找不到 JDK”4.1 JAVA_HOME、PATH、CLASSPATH 到底各管什么很多新手会把这三者混在一起其实它们的分工很明确JAVA_HOME告诉系统“JDK 装在哪”。很多基于 Java 的工具Maven、Tomcat、IDEA、Elasticsearch不会自己去找 JAVA 路径而是通过读取这个环境变量定位 JDK。可以理解成“收货地址”。PATH告诉系统“在哪些目录里找可执行文件”。你把%JAVA_HOME%\bin加入PATH命令行才能直接识别java、javac、jwebserver等命令。相当于在常用联系人列表里存了“快捷方式”。CLASSPATHclass文件的搜索路径。JDK 1.5 之后如果不需要自定义第三方类库位置几乎不用手动设置直接留空甚至可以删掉。网上很多老教程让你配.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar在 JDK 9 之后的模块化体系里完全没有必要反而可能引发奇怪的类加载问题。4.2 一步步配置环境变量Windows 10/11我以完全手动配置为例避免不同安装器带来的差异右键“此电脑” →“属性”→“高级系统设置”→“环境变量”。在“系统变量”区域点击“新建”填JAVA_HOME值填D:\Java\jdk-18.0.1改成你自己的解压路径。在“系统变量”里选Path点击“编辑”点“新建”填%JAVA_HOME%\bin然后上移到最前面几行。如果存在其他 Java 相关变量比如有人在“用户变量”里配了一个旧 JDK 路径建议把用户变量里的JAVA_HOME清掉或改成一致否则可能出现“命令行里是 18但 IDEA 里识别到的是 17”的诡异情况。确认保存并关闭然后重新打开一个命令提示符。为什么要“重新打开”因为系统环境变量只在进程启动时读取一次之前已经开着的终端不会自动更新。这是一个非常常见的问题明明保存了环境变量但原窗口里执行java -version还是老版本。4.3 快速检查环境变量是否生效在命令提示符里执行echo %JAVA_HOME% where java java -version javac -versionecho能看到路径是否指向 JDK 18.0.1where java能列出系统当前找到的所有java.exe位置如果第一个不是 JDK 18 的 bin 目录说明PATH顺序有问题或者有其他 JDK 抢先了。一般我建议把 JDK 的 bin 放在Path列表最前面避免和 PATH 后面其他软件自带的 Java 冲突。5. 实际使用中踩过的坑问题排查实录5.1 装好了还是提示“找不到或无法加载主类”或“javac 不是内部或外部命令”这类问题十有八九是环境变量没对上。按优先级排查确认有没有配置JAVA_HOME路径里有没有写错。确认Path里有没有%JAVA_HOME%\bin。确认Path的分隔符是否正确。Windows 图形界面里每一行算一个不手动加分号但文本模式下要分号。很多老系统改完没刷新也会出现“明明改了但没效果”。确认是不是把 JDK 装到了带中文或空格路径下早期一些工具链对中文路径支持很差。JAVA_HOME 路径里尽量不要有空格。用where java看看到底找的是哪个java.exe。如果确认配置没毛病但java -version还是旧版可以考虑重启电脑或者至少注销再登录让所有进程刷新环境变量。5.2 多版本 JDK 共存18 和 17 怎么来回切开发过程中经常会碰到“这个项目必须 17、那个项目用 18”的情况。Windows 上没有特别好的官方切换工具我的做法是用 ZIP 版把两个 JDK 分别放在不同目录比如D:\Java\jdk-17.0.2和D:\Java\jdk-18.0.1。日常默认的JAVA_HOME指向当前主力版本比如 17。需要切到 18 的时候在命令行里临时执行set JAVA_HOMED:\Java\jdk-18.0.1 set PATH%JAVA_HOME%\bin;%PATH% java -version这个命令只在当前终端窗口有效。如果想让某个项目一直用 18可以在 IDEA 的文件 →项目结构 →SDK 里直接选 18并在“设置 →构建工具 →Maven →导入”里把 JDK 设为 18不会影响系统全局。提示临时指定 JAVA_HOME 时set PATH...一定要把%PATH%带上否则会覆盖掉整个 PATH。我见过有人这样操作后连基本命令都找不到了。5.3 控制台中文乱码JDK 18 的默认 UTF-8 反而闹脾气了JDK 18 开始默认文件编码是 UTF-8而 Windows 中文版的控制台默认代码页经常是 GBK。于是会出现这种情况源码文件是 UTF-8编译、运行日志正常但是System.out.println在控制台输出中文时变成乱码。最直接的解决方式是让控制台切换到 UTF-8 代码页chcp 65001然后在运行 Java 程序时显式指定编码java -Dfile.encodingUTF-8 Main如果需要长期生效可以在设置环境变量JAVA_TOOL_OPTIONS-Dfile.encodingUTF-8不过这是“全局生效”可能会影响某些老项目设置后要想清楚能不能接受。IDEA 里则可以在“Help →Edit Custom VM Options”里加上-Dfile.encodingUTF-8并用“File →Settings →Editor →File Encodings”统一 Global/Project/Default 编码。5.4 IDEA、Maven、Elasticsearch 等工具识别不到 JDKIDEA在“File →Project Structure →SDKs”里点加号添加 JDK 目录选到D:\Java\jdk-18.0.1。如果项目构建时报错还要在“Settings →Build Tools →Maven →Runner”里检查 JRE 是否选对。Maven它主要读取JAVA_HOME如果 IDEA 里能编译但命令行mvn -version显示的 Java 版本还是旧的多半是 IDEA 的终端没有继承最新的系统环境变量。重启 IDE 或重新打开终端即可。ElasticsearchES 7.x/8.x 启动脚本会检查JAVA_HOME强依赖 JDK且部分版本不兼容 JDK 9 以上需要统一配置。如果启动报 “could not find java in JAVA_HOME”先echo %JAVA_HOME%看有没有值再看路径指向是否有效。最后再分享一个小习惯我自己的机器上会同时保留 8、11、17、21 四个目录JDK 18.0.1 只是为了复现老项目临时装的。日常我不用 LTS 之外版本跑生产任务但会把它当成“试新特性”和“对照调试老代码”的工具箱。如果你也是经常切换版本的人建议把每个版本解压目录命名规范一点例如jdk-18.0.1这种官方风格再用一个脚本或批处理去切换JAVA_HOME能少掉很多重复劳动。JDK 18.0.1 虽然生命周期短但安装配置的思路和其他版本完全一致这篇记录的操作迁移到 JDK 17、21 上同样适用。本文还有配套的精品资源点击获取