发现问题
在安装jdk时,装完之后执行java -version 返回正常,但是执行javac却没有返回值
可能的原因
命令提示符窗口缓存问题:
有时命令提示符窗口可能会缓存旧的环境变量设置,需要重新启动命令提示符窗口。
系统路径优先级问题:
系统路径中可能有多个 javac 命令,系统可能优先选择了错误的 javac。
文件权限问题:
当前用户可能没有足够的权限执行 javac 命令。
命令行输入问题:
有时命令行输入可能会有隐藏的特殊字符或格式问题。
通过where javac 命令查找,系统中可能存在多个jdk文件
c:\users\yang>where javac c:\program files\common files\oracle\java\javapath\javac.exe d:\environment\jdk\bin\javac.exe
我的系统中就有两个javac文件
查看java目录
c:\users\yang>echo %java_home% d:\environment\jdk
使用绝对路径执行javac
c:\users\yang>"d:\environment\jdk\bin\javac" -version javac 1.8.0_181
很好,使用绝对路径
"d:\environment\jdk\bin\javac"
成功显示了javac
的版本信息。这表明javac
本身是正常的,问题可能出在环境变量的设置或命令提示符的缓存上。
解决的步骤
既然 javac
命令通过绝对路径可以正常工作,我们可以通过以下步骤来确保 javac
命令在 path
变量中也能正常工作:
步骤 1:确保 d:\environment\jdk\bin 在 path 变量中优先
打开环境变量设置:
- 右键点击“此电脑”或“计算机”图标,选择“属性”。
- 点击“高级系统设置”。
- 在“系统属性”窗口中,点击“环境变量”按钮。
编辑 path 变量:
- 在“系统变量”部分,找到并选择
path
变量,然后点击“编辑”按钮。 - 确保
d:\environment\jdk\bin
路径在其他路径之前。你可以通过拖动或使用“向上”按钮来调整顺序。
- 在“系统变量”部分,找到并选择
步骤 2:重新启动命令提示符
关闭所有命令提示符窗口:
- 关闭所有打开的命令提示符窗口。
重新打开命令提示符:
- 按
win + r
键,输入cmd
,然后按回车键打开新的命令提示符窗口。
- 按
验证 javac 命令:
- 在新的命令提示符窗口中,运行以下命令:
javac -version
- 在新的命令提示符窗口中,运行以下命令:
步骤 3:检查 path 变量
- 验证 path 变量:
- 在命令提示符中,运行以下命令来查看当前的
path
变量:echo %path%
- 确保
d:\environment\jdk\bin
路径出现在输出中,并且优先于其他路径。
- 在命令提示符中,运行以下命令来查看当前的
步骤 4:清除系统缓存
- 重启计算机:
- 有时系统缓存了旧的环境变量设置,重启计算机可以确保所有更改生效。
步骤 5:检查 java_home 变量
- 验证 java_home 变量:
- 在命令提示符中,运行以下命令来查看
java_home
变量:echo %java_home%
- 确保
java_home
变量指向正确的 jdk 安装目录,例如:d:\environment\jdk
- 在命令提示符中,运行以下命令来查看
示例步骤
编辑 path 变量:
- 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”。
- 点击“环境变量”按钮。
- 在“系统变量”部分,找到并选择
path
变量,然后点击“编辑”按钮。 - 确保
d:\environment\jdk\bin
路径在其他路径之前,然后点击“确定”保存更改。
重新启动命令提示符:
- 关闭所有命令提示符窗口。
- 按
win + r
键,输入cmd
,然后按回车键打开新的命令提示符窗口。
验证 javac 命令:
- 在新的命令提示符窗口中,运行以下命令:
javac -version
- 在新的命令提示符窗口中,运行以下命令:
通过以上步骤,应该能够确保 javac
命令在 path
变量中也能正常工作。
总结
到此这篇关于cmd中javac命令无法运行(java指令能运行)的文章就介绍到这了,更多相关cmd中javac命令无法运行内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论