Разница между пакеты OpenJDK-6-JRE, то пакеты OpenJDK-6-JRE и безголовых, пакеты OpenJDK-6-JRE и-Либ
У меня возникли проблемы с пониманием некоторых основ Java JRE.
Мне нужно запустить код Java во встроенной системе, и для этого мне нужна минимальная среда выполнения Java, установленная в ядре Linux, то есть минимальный пакет, необходимый для выполнения двоичных файлов Java. Я думаю, что это невозможно сделать только с помощью JVM (пакет JRE необходим,я ошибаюсь?)
Дело в том, что, глядя на репозитории Debian, я не совсем понимаю различия между пакетами openjdk-6-jre
, openjdk-6-jre-headless
и openjdk-6-jre-lib
. Java программы будет выполняться только с бывшими? или, может быть, нужны все трое?
Это проблема, так как существует большая разница в размере (МБ) между ними.
2 ответа:
Вы правы в том, что вам понадобится пакет jre для запуска любого приложения java.
Поскольку вы говорите, что работаете на встроенной платформе, я предполагаю, что приложение java, которое вы хотите запустить, не имеет графического интерфейса. В этом случае вы будете в порядке сopenjdk-6-jre-headless
. Это объясняется на странице openjdk-6-jre-headless package здесь "минимальная среда выполнения Java - необходима для выполнения не GUI Java-программ".Как вы можете видеть на странице сведений о пакете debian,
openjdk-6-jre-headless
зависит отopenjdk-6-jre-lib
(среди других пакетов), так что будет установлен в любом случае.Если, однако, приложение java, которое вы хотите запустить, имеет графический интерфейс, вам потребуется
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
, что делает последнее действительно просто подмножеством.