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
相关推荐
有个人神神叨叨7 分钟前
Agent 记忆学习笔记-1.1
笔记·学习
右耳朵猫AI44 分钟前
Java & JVM技术周刊 2026年第20周
java·开发语言·jvm
俏皮小混子1 小时前
山东大学软件学院项目实训-创新实训-计科智伴(五)——个人博客(从接口对接到边界问题修复的完整记录)
笔记·学习·状态模式·山东大学
AugustRed1 小时前
Flyway 数据库版本迁移 零基础完整学习文档
数据库·学习
我的xiaodoujiao1 小时前
API 接口自动化测试详细图文教程学习系列23--结合Pytest框架使用4-前后置处理
python·学习·测试工具·pytest
USC-XiangLuXun1 小时前
局部科技小创新是有意义的
科技·学习·生活
Upsy-Daisy1 小时前
IOTA 学习笔记(三):IOTA 的技术演进路线
笔记·学习
有个人神神叨叨1 小时前
Agent Memory 学习笔记-1.0
笔记·学习
一只肥瘫瘫2 小时前
STM32 程序升级学习笔记:Bootloader、IAP 与串口升级流程
笔记·stm32·学习
qq_571099352 小时前
学习周报四十七
学习