据我所知,“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 包。