一、问题场景
在Linux中用yum安装了openjdk-17,也在.bashrc中配置了环境变量JAVA_HOME以及bin目录的PATH。
但是在运行jps命令时依然报错找不到命令
二、原因分析
进入到$JAVA_HOME/bin目录查看,发现只有寥寥几个命令,压根没有jps命令,这是什么情况呢?
再次确认安装的jdk版本,并使用yum info命令查看软件包的详细信息
发现安装的软件包并不是jdk,而是jre,jre只是Java运行时环境,是不包含jps命令工具的,jps是jdk(Java Development Kit)中携带的。
吐槽:可以说这个软件包起名很有迷惑性了,应该叫openjre才对
三、解决方案
使用如下命令过滤查找开发环境的jdk
yum search 17-openjdk | grep Development
安装
yum install java-17-openjdk-devel.x86_64
安装后好像直接就把原来那个JAVA_HOME目录覆盖了,不需要调整环境变量,使用jps命令直接可以运行