You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多JDK环境下Jdeps未读取环境变量,求助指定JDK9的Jdeps执行方法

解决JDK版本不一致下Jdeps的调用问题

这种情况其实挺常见的——明明JAVA_HOME和PATH都指向了JDK9,java命令也正常,但jdeps却还是调用旧版本,大概率是PATH的优先级或者缓存问题,给你几个靠谱的解决办法:

1. 先定位当前运行的jdeps来自哪里

先搞清楚到底是哪个路径的jdeps在执行:

  • Windows系统,打开命令提示符输入:where jdeps
  • Linux/macOS系统,在终端输入:which jdeps

如果输出的路径是JDK8的bin目录,那问题就找到了——PATH里JDK8的路径排在JDK9前面,系统会优先找前面的。

2. 调整PATH优先级(一劳永逸)

把JDK9的bin目录放到PATH的最前面:

  • Windows:打开「系统属性」→「高级」→「环境变量」,找到系统变量里的PATH,把JDK9的bin路径(比如C:\Program Files\Java\jdk-9.0.4\bin)移到列表最顶端,保存后关闭所有命令窗口再重新打开。
  • Linux/macOS:打开终端,编辑你的shell配置文件(比如~/.bashrc或~/.zshrc),把PATH的配置改成:
    export PATH=/usr/lib/jvm/jdk-9.x.x/bin:$PATH
    
    保存后执行source ~/.bashrc(对应你的配置文件)刷新环境变量。

3. 直接用绝对路径调用(临时快速解决)

如果不想改环境变量,直接用JDK9的绝对路径执行jdeps就行:

  • Windows示例:C:\Program Files\Java\jdk-9.0.4\bin\jdeps.exe -version
  • Linux/macOS示例:/usr/lib/jvm/jdk-9.x.x/bin/jdeps -version

4. 刷新命令行缓存

有时候环境变量改了,但当前命令窗口没刷新,Windows下直接关闭所有命令提示符再重新打开;Linux/macOS下用source命令刷新配置文件就行。

做完以上操作后,再执行jdeps -version应该就能看到JDK9的版本了。

内容的提问来源于stack exchange,提问作者Curious Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:06:25