Windows10系统Program Files下Java文件夹及JDK bin目录无故丢失问题咨询
报错详情
Cannot run program "C:\Program Files\Java\jdk1.8.0_261\bin\java.exe" (in directory "C:\Users[my_username]\AppData\Local\JetBrains\IdeaIC2021.2\compile-server"): CreateProcess error=2, 系统找不到指定的文件
排查与解决步骤
- 排查安全/清理工具误删
检查设备上安装的杀毒软件、安全管家、系统清理类工具的隔离区与删除日志,确认C:\Program Files\Java\jdk1.8.0_261\bin下的文件是否被判定为风险文件/无用缓存误删。如果确认是误删,将整个JDK目录加入对应工具的白名单/排除扫描列表,避免后续再次被拦截删除。 - 关闭Java自动更新服务
Java 8默认开启自动更新,系统检测到更高版本的Java 8补丁后,会在后台静默卸载旧版本,直接导致原JDK目录部分/全部文件消失。
操作步骤:- 按下Win+R输入
appwiz.cpl打开程序和功能,找到Java自动更新相关程序卸载 - 按下Win+R输入
services.msc打开服务列表,找到Java Update Scheduler服务,将启动类型改为禁用,同时停止当前运行的服务 - 重新安装JDK 1.8.0.261后,手动删除JDK安装目录下的
jusched.exe程序,彻底关闭自动更新触发入口
- 按下Win+R输入
- 修复系统盘文件错误
排除上述两种情况后,检查系统盘的文件系统是否存在损坏:按下Win+X选择「Windows终端(管理员)」,执行命令chkdsk C: /f,按照提示重启设备后等待磁盘扫描修复完成,再重新安装JDK验证问题是否复现。 - 临时规避方案
如果上述排查暂时无法定位根因,可以将JDK安装到非系统盘的自定义目录,比如D:\dev\jdk1.8.0_261,同时更新JAVA_HOME环境变量以及IDE中的JDK配置。重新配置完成后,需要新开命令提示符窗口执行java -version验证配置生效,同时重启IDE重新加载JDK配置。非系统盘目录被系统自动规则或第三方工具误删的概率更低。
内容的提问来源于stack exchange,提问作者Orit Tlv
相关产品推荐
相关产品推荐

