jps 命令查看的是什么
在 Windows 系统中,每个 Java 进程启动之后都在 %TMP%/hsperfdata_%username% 目录下建立一个以该 Java 进程 pid 为文件名的文件, %username% 为当前登录用户名。
打开 CMD ,输入以下命令可以查看 TMP 目录和当前用户名。
echo %TMP%
echo %username%
我的 Windows 系统中的 Java 进程信息文件如图所示,文件夹有三个文件,代表系统中有三个 Java 进程。

接下来开始解决问题。
可能的解决方法步骤
-
查看环境变量 -
在系统变量加入变量名为 JAVA_HOME ,值为 jdk 安装目录绝对路径 的变量 -
编辑系统变量的 Path 变量,使得我们可以在 CMD 任意路径使用 Java 的工具
# 添加一行
%JAVA_HOME%\bin
# 下面这行也可以添加,自己决定
%JAVA_HOME%\jre\bin
-
检查 Path 变量中是不是有类似 C:\Program Files\Common Files\Oracle\Java\javapath 这行的参数,它可能会干扰我们刚刚在 Path 变量中新加的值,所以有的话删掉 -
保存 Path 变量 -
修改 %TMP%/hsperfdata_%username% 文件夹权限,因为有可能当前用户没有对这个文件的权限而导致 jps 命令查看不到进程。

-
打开CMD,输入以下指令验证
java -version
jps
结果

本文由 mdnice 多平台发布