Java/ru

Java — это Sun Microsystems]], который использует исполнительную среду для выполнения приложений, разработанных на Java, на различных платформах. Он популярен среди разработчиков, создающих кросс-платформенные приложения.

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

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

Языки JVM
Виртуальная машина Java используется не только языком программирования Java. Множество языков программирования используют платформу Java и запускаются JVM. Примеры таких языков: Clojure, Apache Groovy, Kotlin или Scala.

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

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

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

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

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

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

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

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

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

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

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

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

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

Для пользователей, создаст файл, который затем должен быть использован в качестве источника (source) для профиля оболочки.

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

Java-плагины браузера
For those who need a Java-enabled browser for a specific use case, there is e.g. /  available in the   overlay, which has long-term support for NPAPI and thus Java plugins up to JDK 8.

Настройка USE-флагов
Чтобы найти больше информации по USE-флагам, обратитесь к главе USE-флаги настольной книги Gentoo.

USE-флаги

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

Следующие USE-флаги входят в переменную JAVA_PKG_IUSE.
 * Флаг устанавливает zip-файл с исходным кодом пакета. Это традиционно используется различными среда разработки (IDE) для 'присоединения' исходного кода к используемым библиотекам;
 * Для пакетов Java, флаг собирает документацию API с помощью javadoc.


 * 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.

Minecraft launcher errors

 * A specific error in which  crashed after a few seconds, throwing "Alarm" and "SaveToBuffer failed" error was solved by setting  the USE flag   for.


 * When executing  the following error was produced:

This was solved by executing  with the following option:

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

 * Java Developer Guide
 * Project:Java/Why_build_from_source
 * Project:Java/Getting_Involved

Внешние ресурсы

 * The gentoo-java, gentoo-user и gentoo-dev архив почтовой рассылки
 * и на IRC
 * Java 7 and bootstrapping icedtea на форумах Gentoo

Дальнейшая информация доступна оффлайн:



Предложения и вопросы, касающиеся данной статьи, присылайте на email команды Gentoo Java: