Добавить в избранное | Сделать стартовой страницей

Большая Linux библиотека для пользователей OS Linux и ПО для нее
Есть что сказать? Нужен совет? Посети наш форум.


-


Руководство по настройке Java в Gentoo.

Автор : Karl Trygve Kalleberg ( [email protected] )
Перевод : Иван Зенков ( [email protected] )

1. Установка JDK/JRE

1.1. Введение

Gentoo предоставляет несколько JDK и JRE. По умолчанию выбран Blackdown JDK/JRE, так как он свободно доступен без регистрации.

Примечание: Как только kaffe станет легко встраиваемой JRE/JDK, мы примем её по умолчанию.

И Sun JDK/JRE, и IBM JDK/JRE вообще-то значительно быстрее, но получение их требует намного большего труда, поскольку вам потребуется прочитать и принять их лицензии перед загрузкой (IBM дополнительно требует, чтобы вы зарегистрировались).

Наши ebuild-скрипты для Sun и IBM JDK/JRE уведомят вас относительно того, откуда все это можно загрузить.

1.2. Установка Sun/IBM JDK/JRE?

Если вы запустите emerge sun-jdk-1.3.1 или emerge ibm-jdk-1.3.1, вы будете уведомлены о том, что требуется, чтобы вы загрузили архив фактически самостоятельно. Это происходит из-за ограничений лицензии Sun JDK/JRE (online click-wrap license) и проблем с регистрации IBM JDK/JRE.

Примечание: Есть также sun-jdk-1.4.0, но не все пакеты хорошо работают с Java 1.4, так что выбор всегда за вами: использовать 1.4.0 JDK или нет.

Вы должны загрузить обозначенные файл(ы) в /usr/portage/distfiles. После чего можете повторно запустите команду emerge, JDK/JRE будет установлен должным образом в /opt.

2. Конфигурирование вашей JDK/JRE

2.1. Краткий обзор?

Gentoo позволяет бесконфликтно устанавливать несколько JDK и JRE на одной машине. На этот счёт есть несколько предостережений, отмеченных ниже.

Используя инструмент java-config и имея root-доступ, вы можете установить общесистемное значение по умолчанию. Пользователи также могут использовать java-config для установки их собственных значении по умолчанию, отличных от общесистемного значения.

2.2. Выбор основного JDK/JRE?

Выполнение команды java-config --list-available-vms выдаст список всех доступных JRE/JDK на вашей системе. Что-то вроде:

Листинг 2.1: Список доступных VM
[%1 ~] java-config --list-available-vms
[blackdown-jdk-1.3.1] Blackdown JDK 1.3.1 (/etc/env.d/java/20blackdown-jdk-1.3.1)
[blackdown-jre-1.3.1] Blackdown JRE 1.3.1 (/etc/env.d/java/20blackdown-jre-1.3.1)
[ibm-jdk-1.3.0] IBM JDK 1.3.0 (/etc/env.d/java/20ibm-jdk-1.3.0)
[ibm-jdk-1.3.1] IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)
[ibm-jre-1.3.1] IBM JRE 1.3.1 (/etc/env.d/java/20ibm-jre-1.3.1)
[sun-jdk-1.4.0] Sun JDK 1.4.0 (/etc/env.d/java/20sun-jdk-1.4.0)

Название в скобках "[]" является дескриптором или идентификатором для VM. Используйте идентификатор с java-config --set-system-vm, примерно так:

Листинг 2.2: Выбор системной VM
[#1 ~] java-config --set-system-vm=ibm-jdk-1.3.1
Now using IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1)

Примечание: Вы должны иметь права root для запуска --set-system-vm

После запуска java-config --set-system-vm с VM идентификатором, нужно обновить ваш /etc/profile.env, так:

Листинг 2.3: Обновление /etc/profile.env
[#1 ~] env-update

После чего нужно повторно войти в систему, чтобы перечитать файл рабочей среды /etc/profile.

Как обычный пользователь, вы можете использовать java-config --set-user-vm, который создаст $HOME/.gentoo/java-env со всеми требуемыми env переменными. Обычно источник переменных - это сценарий запуска вашей оболочки ($HOME/.zshenv в моем случае).

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

Первое, что вам нужно - это список доступных библиотек Java, необходимые из которых нужно поместить в CLASSPATH. Приблизительно это выглядит так:

Листинг 2.4: Список классов
[%1 ~] java-config --list-available-packages
[ant] No description (/usr/share/ant/classpath.env)
[java-gnome] No description (/usr/share/java-gnome/classpath.env)
[java-gtk] No description (/usr/share/java-gtk/classpath.env)
[log4j] "" (/usr/share/log4j/package.env)

Примечание: Ни один из этих пакетов не имеет надлежащего описания. Это будет осуществлено в ближайшем будущем.

Снова названия в скобках "[]" являются идентификаторами, которые вы должны передать в java-config --set-system-classpath, таким образом:

Листинг 2.5: Выбор classpath
java-config --set-system-classpath=log4j,java-gtk,java-gnome

Примечание: Директория (.) не будет добавлена в classpath, если это не прописано в profile файле root.

Снова вы должны будете выполнить env-update, чтобы модифицировать среду вашей системы, и повторно войти чтобы перечитать /etc/profile.

Для пользователей java-config --set-user-classpath создаст $HOME/.gentoo/java-env-classpath, который автоматически будет включён в $HOME/.gentoo/java-env.

3.1. Off-line ресурсы?

man java-config java-config --help Непосредственно сам скрипт /usr/bin/java-config

3.2. Online ресурсы?

Архив почтовой рассылки gentoo-dev, gentoo-user #gentoo on irc.openprojects.net

4. Предостережения

4.1. Основное?

Если Вы выбираете JRE VM по умолчанию, Команда javac, будет не доступна до тех пор пока вы не сделаете символическую ссылку.

Jikes будет использоваться для компиляции некоторых больших пакетов. Со временем мы надеемся скомпилировать все java зависимые пакеты с Jikes, так некоторые зависимости от JDK могут быть заменены зависимостью от JRE.

В некоторых версиях Portage при выполнении emerge --world update будет установлено JDK, независимо от того, устанавливали ли вы его прежде или нет. Это - известная ошибка, адресованная к более поздним версиям Portage.

3. Дополнительные ресурсы2.3. Установка значения CLASSPATH?