Разница между пакеты 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, что делает последнее действительно просто подмножеством.