在 Fedora 上,为什么我必须安装 devel 包才能获取 javac?

在 Fedora 上,为什么我必须安装 devel 包才能获取 javac?

据我所知,“JDK”代表 Java 开发工具包,在基于 Debian 的系统上,您需要安装default-jdk才能运行javac。但是在 Fedora(至少是最近的版本)上,安装java-openjdk不会安装javac,但您必须安装java-openjdk-devel

我是否误解了 JDK 的概念javac?或者为什么名称中包含“jdk”的软件包javac在 Fedora 上不提供?我理解如果只有一个,java-openjdk-devel因为 JDK 暗示“devel”,但我不明白java-openjdk(没有 devel)代表什么。

答案1

这反映了上游项目的结构。没有单独的“OpenJRE”作为开源项目——它只是“OpenJDK”。相应地,基础包的包描述是“OpenJDK 运行时环境 8”,而不是“JRE”。

答案2

OpenJDK 是提供开源 JDK 实现的项目名称。JRE 是其最终用户子集,不包含开发工具。

java-openjdk是 OpenJDK 的最终用户部分,即 JRE。
java-openjdk-devel面向开发人员 - 由 OpenJDK 实现的整个 JDK。

答案3

安装 java-openjdk 不会安装 javac

java-openjdk安装 JRE(Java 运行时环境)。

java-openjdk-devel安装 Java 编译器(除了 JRE)。

Fedora、Oracle Linux、Red Hat Enterprise Linux 等

在命令行中输入:

$ su -c "yum install java-1.8.0-openjdk"

java-1.8.0-openjdk 包仅包含 Java 运行时环境。如果您想开发 Java 程序,请安装 java-1.8.0-openjdk-devel 包。

来源OpenJDK:下载并安装

相关内容