Java openjdk-6-jre、openjdk-6-jre-headless、openjdk-6-jre-lib之间的区别

Java openjdk-6-jre、openjdk-6-jre-headless、openjdk-6-jre-lib之间的区别,java,openjdk,Java,Openjdk,我很难理解Java JRE的一些基础知识 我需要在嵌入式系统中运行Java代码,为此,我需要在Linux内核中安装一个最小的Java运行时环境,也就是说,执行Java二进制文件所需的最小包。我认为仅使用JVM是不可能做到这一点的(JRE包是必要的,我错了吗?) 问题是,在查看Debian存储库时,我不太理解包openjdk-6-jre、openjdk-6-jre-headless和openjdk-6-jre-lib之间的区别。Java程序是否只运行前者?或者,需要他们三个吗 这是一个问题,因为它

我很难理解Java JRE的一些基础知识

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

问题是,在查看Debian存储库时,我不太理解包
openjdk-6-jre
openjdk-6-jre-headless
openjdk-6-jre-lib
之间的区别。Java程序是否只运行前者?或者,需要他们三个吗


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

您是正确的,您需要一个JRE包来运行任何Java应用程序

既然您说您正在嵌入式平台上运行,那么我假设您想要运行的Java应用程序没有GUI。在这种情况下,您可以使用
openjdk-6-jre-headless
。这将在“执行非GUI Java程序所需的最小Java运行时”中解释

正如您所看到的,
openjdk-6-jre-headless
依赖于
openjdk-6-jre-lib
(以及其他软件包),因此无论哪种方式都可以安装


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

提供两个不同包的主要原因是包的依赖性<代码>openjdk-6-jre还将取决于:

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

与前面的评论相反,
openjdk-6-jre
依赖于
openjdk-6-jre-headless
,使得后者实际上只是一个子集。

非常感谢。实际上我必须编译一个linux内核2.6。。。对于这个平台,我不确定是否有可能在构建过程中加入jre(无论是什么版本,如果可能的话,最小的大小)。你知道这是否可行吗?如果你的意思是在内核中包含一个jre,那么据我所知这是不可能的-jre存在于用户空间而不是内核中。链接报告错误:“指定了两个或多个包(openjdk-6-jre-headless Squence)”在Linux(Ubuntu18.10)上,我们可以在那里找到相关信息,那么
openjdk-11-jdk-headless
openjdk-11-jdk
之间的区别呢?你可以在这里搜索ubuntu软件包:你正在寻找的相关软件包是和