JVM学习问题记录(2) jps命令无法识别

现象:

命令行输入jps命令,提示"jps不是内部或外部命令,也不是可运行的程序"

背景:

学习JVM,测试jdk自带性能分析工具,需要用到jps工具

思路:

先怀疑自己

可能的原因

  • JDK安装有问题,无jps.exe
  • 环境变量设置问题,找不到jps.exe

动手:

  • 去JAVA_HOME配置的查看,发现jps.exe在,用绝对路径执行是正常的
  • 查看环境变量,JAVA_HOME和path配置也是正确的,echo结果也是对的
    这里就感觉很奇怪,而且试了下javac命令是正常的,那也不是路径配置问题,这里卡了很久
    后来灵机一动,去看了下java和javac实际的路径
bash 复制代码
where java
where javac

结果指向的不是自己配置的java路径,而是一个看起来默认的路径

shell 复制代码
C:\Program Files\Common Files\Oracle\Java\javapath\javac.exe

查看了下这个路径下的文件,确实有javac等几个基础的工具

同时去环境变量看了下,path下确实有这个路径

![[问题记录2.png]]

去网上查了下,说是安装较早版本的jdk,会在这个路径下创建一些小型代理exe,并且自动生成这个path,便于升级场景自动更新

结论:

oracle自动path干扰

解决方法,要么删了这个路径,要么把自己配置的路径放前面

我这里将%JAVA_HOME%\bin前移

验证Ok

复制代码
C:\Users\>jps -l
13816 jdk.jcmd/sun.tools.jps.Jps
相关推荐
Aision_2 小时前
从工具调用到 MCP、Skill完整学习记录
java·python·gpt·学习·langchain·prompt·agi
剑飞的编程思维2 小时前
真实学习本质-坚持思考的人
学习
AI浩2 小时前
学习嵌入位置:面向小目标检测查询检索的噪声感知位置编码
人工智能·学习·目标检测
辞旧 lekkk6 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2301_809204708 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy277778 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
冷小鱼10 小时前
JVM 异常崩溃排查全指南:从 Core Dump 到根因定位
jvm
爱上好庆祝10 小时前
学习js的第七天(wed APIs的开始)
前端·javascript·css·学习·html·css3
风兮雨露12 小时前
VMware虚拟机(安装/绿色版)
学习
zl_dfq13 小时前
python学习8 之 【集合、datetime模块、字典】
学习