openjdk-6-jre, openjdk-6-jre-headless, openjdk-6-jre-lib 之间的区别

2022-08-31 11:10:17

我无法理解Java JRE的一些基础知识。

我需要在嵌入式系统运行Java代码,为此,我需要在Linux内核中安装一个最小的Java运行时环境,也就是说,执行Java二进制文件所需的最小包。我认为仅使用JVM不可能做到这一点(JRE包是必要的,我在这里错了吗?

问题是,在查看 Debian 仓库时,我不太了解软件包和 .Java程序是否只能与前者一起运行?或者,需要他们三个人吗?openjdk-6-jreopenjdk-6-jre-headlessopenjdk-6-jre-lib

这是一个问题,因为它们之间的大小(MB)有很大的差异。


答案 1

你是对的,因为你需要一个JRE包来运行任何Java应用程序。

既然你说你在嵌入式平台上运行,我假设你想要运行的Java应用程序没有GUI。在这种情况下,您将对.这在 openjdk-6-jre-无头包页面上进行了解释,“最小的 Java 运行时 - 执行非 GUI Java 程序需要”。openjdk-6-jre-headless

正如你从 debian 软件包详情页面所看到的,依赖于 (以及其他软件包),所以无论哪种方式都可以安装。openjdk-6-jre-headlessopenjdk-6-jre-lib

但是,如果要运行的 Java 应用程序具有 GUI,则需要而不是openjdk-6-jreopenjdk-6-jre-headless


答案 2

有两个不同的包可用的主要原因是包的依赖关系。 还将取决于:openjdk-6-jre

libasound2, libgif4, libjpeg62, libpng12-0, libpulse0 , libx11-6, libxext6, libxi6, libxrender1, libxtst6 and zlib1g

与前面的注释相反,取决于,使后者实际上只是一个子集。openjdk-6-jreopenjdk-6-jre-headless


推荐