LinuxShop.Ru :: Gentoo.Ru :: Документация


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

Версия: 0.1.1 от 17 Dec 2002

Описание:
Руководство по настройке Java в Gentoo для пользователей и разработчиков,.

Над документом работали:
Author and Editor: Karl Trygve Kalleberg ( [email protected] )
Переводчик: Иван Зенков ( [email protected] )


Содержание:

1. Установка JDK/JRE
1.1. Введение
1.2. Установка Sun/IBM JDK/JRE
2. Конфигурирование вашей JDK/JRE
2.1. Краткий обзор
2.2. Выбор основного JDK/JRE
2.3. Установка значения CLASSPATH
3. Дополнительные ресурсы
3.1. Off-line ресурсы
3.2. Online ресурсы
4. Предостережения
4.1. Основное


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 в моем случае).

2.3. Установка значения CLASSPATH 

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. Дополнительные ресурсы

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.