CentOS安装OpenJDK 1.8仅显示JRE,JDK目录缺失问题咨询
CentOS 8安装OpenJDK 1.8相关问题解答
操作步骤
用户在CentOS 8中安装OpenJDK 1.8.0的步骤:
sudo -iyum install sudo -ysudo yum updatesu -c "yum install java-1.8.0-openjdk"sudo alternatives --config java(或sudo alternatives --config javac)
遇到的问题
执行完安装后,在/usr/lib/jvm/目录下仅存在以下目录,未找到完整JDK目录:
- java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64(仅包含jre子目录)
- jre
- jre-1.8.0
- jre-1.8.0-openjdk
- jre-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
- jre-openjdk
无法找到用于验证JDK的文件/目录:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/bin//usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/bin/java
仅在/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/目录下找到java可执行文件。
问题解答
1. CentOS无法安装JDK吗?
可以安装。你当前只安装了OpenJDK的JRE运行时部分,而非完整JDK。java-1.8.0-openjdk包默认仅提供JRE环境,要获取包含javac等开发工具的完整JDK,需要安装对应开发包。
2. 若需使用JRE下的java,为何它放在JRE目录而非以往的Java目录?
这是CentOS/RHEL 8中OpenJDK包的拆分设计。官方为了精简安装体积,将JDK拆分为JRE(运行时环境)和devel(开发组件)两个独立包。java-1.8.0-openjdk包仅包含JRE,所以java可执行文件自然在JRE目录下;只有安装了开发包,才会在主目录下生成bin目录并包含javac等开发工具。
3. 我是否遗漏了安装步骤?
是的,你遗漏了安装完整JDK的关键步骤。只需执行以下命令安装开发包:
sudo yum install java-1.8.0-openjdk-devel -y
安装完成后,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/目录下就会出现bin文件夹,包含java、javac等完整JDK工具。之后可以重新执行sudo alternatives --config javac来配置默认的Java编译器。
内容的提问来源于stack exchange,提问作者Kathir
相关产品推荐
相关产品推荐

