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
相关推荐
圆奋奋16 小时前
FreeRTOS学习(三)- 任务调度模块
学习·开源·freertos
吃着火锅x唱着歌16 小时前
Effective C++ 学习笔记 条款40 明智而审慎地使用多重继承
c++·笔记·学习
xian_wwq17 小时前
【学习笔记】Prompt Engineering 没死,只是它不再够用了-2/16
笔记·学习·prompt
天吾cc17 小时前
RTT-ADC
单片机·嵌入式硬件·学习
kaixin_啊啊17 小时前
test_机器学习算法学习
学习·算法·机器学习
m4Rk_18 小时前
【论文阅读】Agent 记忆机制(34):MemoryBank——用遗忘曲线管理可强化的长期对话记忆
论文阅读·人工智能·学习·开源·github
210Brian18 小时前
STM32学习笔记(五)EXTI外部中断(上)
笔记·stm32·学习
辣知18 小时前
辣知·化智19 人类文明的轮回
学习
xian_wwq20 小时前
【学习笔记】RAG 只是 Context Engineering 的一小块-5/16
笔记·学习·rag
123_不打狼20 小时前
零基础到就业:完整计算机视觉系统化学习路线指南
人工智能·学习·计算机视觉