openJDK下找不到jar命令(jar command is not found)

原文官网地址:How can I get the jar command? - Red Hat Customer Portal

我们在准备服务器环境的时候一般喜欢删除掉openJDK,然后重新下载配置oracleJDK,并且配置相关的环境变量。但是其实有些时候openJDK也能满足我们的一些要求了,这个时候就不需要再去安装oracleJDK。我就是在这个环境下,执行jar命名报错找不到这个命令:jar command is not found。

究其原因是

jar命名是java-XXX-openjdk-devel这个包提供的。

“jar command is provided by java-XXX-openjdk-devel package”

而java-XXX-openjdk这个包,并不依赖于java-XXX-openjdk-devel,所以默认安装的openjdk,可能并没有包含devel包,导致jar命令找不到。

java-XXX-openjdk-devel package is not required by the OpenJDK packages in dependency relationship”

# yum deplist java-1.*.0-openjdk | grep openjdk-devel
<no output>

所以为了修复这个问题,只需要查看当前的openjdk的安全信息,并且安装相同版本的devel包就可以了。

Check current installed version of OpenJDK

# rpm -qa | grep openjdk
java-1.8.0-openjdk-headless-1.8.0.252.b09-3.el8_2.x86_64        <----==== 1.8.0.252.b09-3.el8_2
java-1.8.0-openjdk-1.8.0.252.b09-3.el8_2.x86_64                 <----==== 1.8.0.252.b09-3.el8_2

Install same version of java-XXX-openjdk-devel as above

# yum install java-1.8.0-openjdk-devel-1.8.0.252.b09-3.el8_2.x86_64      <----==== 1.8.0.252.b09-3.el8_2