Java/ru

Это руководство знакомит читателя с Java и объясняется, как использовать Java в Gentoo Linux.

Общий обзор
Java — это язык программирования, разрабатываемый инженерами Sun Microsystems. Язык является объектно-ориентированным и предназначен для запуска на различных платформах без необходимости перекомпиляции кода для каждой платформы. Хотя программа на Java и может быть скомпилирована в нативный код, изрядную долю популярности языку принесла портируемость, а также некоторые другие возможности, такие как сборка мусора. Чтобы сделать независимость от платформы возможной, компилятор Java компилирует Java-код в промежуточное представление, называемое «байт-кодом Java» (Java bytecode), которое запускается в JRE (среде выполнения Java), а не непосредственно в операционной системе.

Для запуска байт-кода Java, необходимо наличие установленной JRE (Java Runtime Environment). JRE предоставляет доступ к основным библиотекам, зависящей от платформы виртуальной машине Java, плагинам для браузеров и другим вещам. JDK (Java Development Kit) добавляет программные инструменты, такие как компилятор в байт-код и отладчик.

Выбор
Gentoo предоставляет различные (среды выполнения) Java Runtime Environments (JRE) и (пакеты средств для разработчиков) Java Development Kits (JDK). В числе текущих вариантов, имеются:

Установка JRE/JDK
Для установки дефолтного JDK из профиля, запустите:

Для установки дефолтного JRE из профиля, запустите

Некоторые JDK и JRE, включая пакеты от Oracle, требуют принятия лицензионного соглашения конечного пользователя (End User License Agreement), или EULA. Если лицензия (например, dlj-1.1) не указана в переменной ACCEPT_LICENSE (находящейся в файле ), тогда JDK/JRE установить не удастся. Более подробно о том, как можно добавить допустимые лицензии в, можно прочитать в главе Лицензии Portage Handbook.

Чтобы избежать какой-либо суматохи с лицензионными ограничениями, рассмотрите установку icedtea-bin, который является открытой реализацией Java из проекта OpenJDK.

Установка виртуальной машины IcedTea GCJ
Виртуальная машина Icedtea доступна в виде исходного кода и требует компиляции байт-кода компилятором Java. Эту начальную установку можно запустить с помощью GNU Compiler for Java (GCJ). Этот компилятор доступен, если GCC собран с USE-флагом.

Если GCC собран с этим USE-флагом, можно приступить к установке пакета :

Установка виртуальных машин с ограничениями на скачивание исходного кода
Настройка некоторых JDK и JRE требует некоторых дополнительных действий. Установите пакеты как обычно; если потребуются дополнительные действия, пакеты укажут, куда необходимо перейти и что необходимо загрузить.

Загрузите указанные файлы в каталог, повторно запустите , и JRE/JDK будет установлен.

Установка headless JRE
Бывают случаи, когда не требуется установка полноценной JRE со всеми возможностями java. При использовании java на сервере часто не требуются такие возможности, как графический интерфейс пользователя, графика, звук или печать. Чтобы установить упрощенную JRE, иногда называемую headless, необходимо изменить некоторые USE-флаги.

В зависимости от используемого профиля Gentoo, эти флаги уже могут быть установлены. Как обычно, проверить, какие USE-флаги установлены для конкретного пакета можно, запустив в режиме pretend:

Общий обзор
На Gentoo, возможна установка множества разных JDK и JRE без вызова конфликтов.

Установить общесистемную виртуальную машину java (VM), используемую по умолчанию, можно, запустив утилиту с административными привилегиями. Пользователи также могут воспользоваться этой утилитой для установки пользовательской виртуальной машины.

Установка виртуальной машины по умолчанию
Запуск команды с опцией   выведет список всех JRE и JDK, установленных в системе. Ниже приведен пример работы команды:

Символ * означает, что эта виртуальная машина является активной (системной или пользовательской, если последняя установлена). Имя в квадратных скобках является идентификатором данной виртуальной машины. Установить виртуальную машину можно, подав ее идентификатор или номер в качестве аргумента команде. Следующий пример показывает, как можно установить системную виртуальную машину.

Установка системной виртуальной машины с использованием имени (рекомендуемый способ):

Альтернативный способ: выбор виртуальной машины с помощью номера:

В качестве обычного пользователя, запустите java-config.

Виртуальные машины Build only
Некоторые виртуальные машины отмечены как build-only, вследствие завершения жизненного цикла (EOL) и/или содержащихся уязвимостей. Эти виртуальные машины не выбираются системой автоматически с использованием Gentoo Launchers (скрипт, созданный для переключения виртуальных машин в Java), но все еще доступны для использования средой сборки Gentoo, так как некоторые пакеты могут потребовать их для сборки. Настройка такой виртуальной машины в качестве системной или пользовательской машины строго не рекомендуется, так как в таком случае она будет использоваться для запуска, а также ее будут использовать пакеты, не использующие стандартные скрипты Gentoo для запуска Java-приложений.

Установка переменной CLASSPATH по умолчанию
также можно использовать для установки общесистемной и пользовательской переменной CLASSPATH по умолчанию.

Прежде всего, выведите все доступные библиотеки Java, установленные в системе, которые можно поместить в переменную CLASSPATH. Вот пример вывода:

Опять-таки, имена в квадратных скобках являются идентификаторами для передачи команде. Например:

Обновите среду, выйдя из системы и снова войдя в нее, либо с помощью команды.

Для пользователей, java-config --set-user-classpath создаст, который должен source профиль оболочки.

Чтобы создать общесистемный или пользовательский путь классов по умолчанию, добавьте строку, подобную следующей, в профиль оболочки. Это не рекомендуется:

Java-плагины браузера
Управление Java-плагином браузера раньше осуществлялось посредством команды. Это было убрано в целях простоты. Для базового использования, установите выбранную JVM с USE-флагом. Обратите внимание, что плагин от Oracle доступен только для архитектур и.

Также обратите внимание, что браузеры, основанные на Chromium, больше не поддерживают плагины на базе NPAPI, поскольку код был убран в сентябре 2015 года. Список поддерживаемых браузеров уменьшается, но по-прежнему включает в себя Firefox, на момент версии 46.

Для получения более подробной информации, включая выбор JVM, Web Start и multilib, читайте файл README, устанавливаемый с icedtea-web.

Настройка USE-флагов
Подробнее о USE-флагах читайте в соответствующей главе Gentoo Handbook.

USE-флаги

 * Флаг добавляет поддержку Java в различных программах;
 * Флаг добавляет поддержку Mozilla-подобных браузеров (включая Firefox). Это необходимо для просмотра апплетов Java в Mozilla-подобных браузерах;
 * Флаг добавляет поддержку Java Cryptography Engine;

Following USE flags go in JAVA_PKG_IUSE.
 * The flag installs a zip of the source code of a package. This is traditionally used for IDEs to 'attach' source to the libraries that are being use;
 * For Java packages, the flag will build API documentation using javadoc.

Смотрите также

 * Java руководство пользователя на Java project

Ссылки

 * The gentoo-java, gentoo-user, and gentoo-dev mailing list archives
 * and on IRC
 * Java 7 and bootstrapping icedtea on the Gentoo forums

More information can be found offline:



For suggestions or questions regarding this document, please email the Gentoo Java team: