我无法理解Java JRE的一些基础知识.
我需要在嵌入式系统中运行Java代码,为此我需要在Linux内核中安装最小的Java Runtime Environment,也就是说,执行Java二进制文件所需的最小包.我认为只有JVM才能做到这一点(JRE包是必要的,我在这里错了吗?)
问题是,在查看Debian存储库时,我不太了解这些包之间的差异openjdk-6-jre
,openjdk-6-jre-headless
并且openjdk-6-jre-lib
.Java程序只能与前者一起运行吗?或者,他们三个需要吗?
这是一个问题,因为它们之间的大小(MB)存在很大差异.
Woo*_*ham 59
你是正确的,因为你需要一个jre包来运行任何java应用程序.
既然你说你在嵌入式平台上运行,我认为你要运行的java应用程序没有gui.在那种情况下,你会没事的openjdk-6-jre-headless
.这是在openjdk-6-jre-headless软件包页面上解释的 "最小Java运行时 - 执行非GUI Java程序所需".
正如您从debian包详细信息页面中看到的,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
Run Code Online (Sandbox Code Playgroud)
而且违背了以往的评论openjdk-6-jre
依赖openjdk-6-jre-headless
,使后者实际上只是一个子集.